diff options
author | Thomas Lopatic <lopatic@yahoo-inc.com> | 2010-03-22 21:57:48 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2010-03-22 21:57:48 +0100 |
commit | 6657f12fff9e7b14e56da3790f0a271989c8b6a2 (patch) | |
tree | a212aaf8da554ad0f991d5d0458af315d938dd6d /ares/ares_send.c | |
parent | 3cd5b1cfb078cd7e96d7cd490740d955b7905caf (diff) |
fix the alarm()-based DNS timeout
Looking at the code of Curl_resolv_timeout() in hostip.c, I think
that in case of a timeout, the signal handler for SIGALRM never
gets removed. I think that in my case it gets executed at some
point later on when execution has long left Curl_resolv_timeout()
or even the cURL library.
The code that is jumped to with siglongjmp() simply sets the
error message to "name lookup timed out" and then returns with
CURLRESOLV_ERROR. I guess that instead of simply returning
without cleaning up, the code should have a goto that jumps to
the spot right after the call to Curl_resolv().
Diffstat (limited to 'ares/ares_send.c')
0 files changed, 0 insertions, 0 deletions