summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorNARUSE, Yui <nurse@users.noreply.github.com>2024-03-14 18:42:28 +0900
committerGitHub <noreply@github.com>2024-03-14 09:42:28 +0000
commita889304fed63c3206f27d614ab75219271fb4ca9 (patch)
tree5736a460c64437204d256d4abf5c1d8efcd8be7a /test/ruby
parent72d04bb073e6897fb4228d5b0b31ad02cbb91036 (diff)
merge revision(s) 6c0e58a54e3fda604386d9c409e2a9998bbc9352: [Backport #20198] (#10252)
Make sure the correct error is raised for EAI_SYSTEM resolver fail In case of EAI_SYSTEM, getaddrinfo is supposed to set more detail in errno; however, because we call getaddrinfo on a thread now, and errno is threadlocal, that information is being lost. Instead, we just raise whatever errno happens to be on the calling thread (which can be something very confusing, like `ECHILD`). Fix it by explicitly propagating errno back to the calling thread through the getaddrinfo_arg structure. [Bug #20198] --- ext/socket/raddrinfo.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-)
Diffstat (limited to 'test/ruby')
0 files changed, 0 insertions, 0 deletions