Thomas Lopatic fixed the alarm()-based DNS timeout

This commit is contained in:
Daniel Stenberg
2010-03-22 22:00:55 +01:00
parent 6657f12fff
commit d4cd5411a6
2 changed files with 15 additions and 1 deletions

13
CHANGES
View File

@@ -6,6 +6,19 @@
Changelog
Daniel Stenberg (22 Mar 2010)
- Thomas Lopatic fixed 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().
Kamil Dudka (22 Mar 2010)
- Douglas Steinwand contributed a patch fixing insufficient initialization in
Curl_clone_ssl_config()