eliminate a race condition in Curl_resolv_timeout()

This commit is contained in:
Kamil Dudka 2010-04-04 23:34:24 +02:00
parent e7e37a246a
commit 64ac64e783
2 changed files with 6 additions and 2 deletions

View File

@ -6,6 +6,9 @@
Changelog
Kamil Dudka (4 Apr 2010)
- Eliminated a race condition in Curl_resolv_timeout().
Daniel Stenberg (1 Apr 2010)
- Matt Wixson found and fixed a bug in the SCP/SFTP area where the code
treated a 0 return code from libssh2 to be the same as EAGAIN while in

View File

@ -628,6 +628,9 @@ int Curl_resolv_timeout(struct connectdata *conn,
clean_up:
if (timeout > 0) {
if(!prev_alarm)
/* deactivate a possibly active alarm before uninstalling the handler */
alarm(0);
#ifdef HAVE_SIGACTION
if(keep_copysig) {
@ -664,8 +667,6 @@ clean_up:
else
alarm((unsigned int)alarm_set);
}
else
alarm(0); /* just shut it off */
}
#endif /* USE_ALARM_TIMEOUT */