mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
eliminate a race condition in Curl_resolv_timeout()
This commit is contained in:
parent
e7e37a246a
commit
64ac64e783
3
CHANGES
3
CHANGES
@ -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
|
||||
|
@ -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 */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user