Andrew Benham fixed a race condition in the test suite that could cause the

test script to kill all processes in the current process group!
This commit is contained in:
Daniel Stenberg 2006-01-13 12:16:16 +00:00
parent d9bd5de0b1
commit bebf70667d
3 changed files with 10 additions and 4 deletions

View File

@ -6,6 +6,10 @@
Changelog Changelog
Daniel (13 January 2006)
- Andrew Benham fixed a race condition in the test suite that could cause the
test script to kill all processes in the current process group!
Daniel (12 January 2006) Daniel (12 January 2006)
- Michael Jahn: - Michael Jahn:

View File

@ -15,6 +15,7 @@ This release includes the following changes:
This release includes the following bugfixes: This release includes the following bugfixes:
o test suite kill race condition
o FTP_SKIP_PASV_IP and FTP_USE_EPSV when doing FTP over HTTP proxy o FTP_SKIP_PASV_IP and FTP_USE_EPSV when doing FTP over HTTP proxy
o Doing a second request with FTP on the same bath path, would make libcurl o Doing a second request with FTP on the same bath path, would make libcurl
confuse what current working directory it had confuse what current working directory it had
@ -36,6 +37,6 @@ This release would not have looked like this without help, code, reports and
advice from friends like these: advice from friends like these:
Dov Murik, Jean Jacques Drouin, Andres Garcia, Yang Tse, Gisle Vanem, Dan Dov Murik, Jean Jacques Drouin, Andres Garcia, Yang Tse, Gisle Vanem, Dan
Fandrich, Alexander Lazic, Michael Jahn Fandrich, Alexander Lazic, Michael Jahn, Andrew Benham
Thanks! (and sorry if I forgot to mention someone) Thanks! (and sorry if I forgot to mention someone)

View File

@ -249,9 +249,10 @@ sub startnew {
open(PID, "<$pidfile"); open(PID, "<$pidfile");
$pid2 = 0 + <PID>; $pid2 = 0 + <PID>;
close(PID); close(PID);
if(kill(0, $pid2)) { if($pid2 && kill(0, $pid2)) {
# make sure this pid is alive, as otherwise it is just likely # if $pid2 is valid, then make sure this pid is alive, as
# to be the _previous_ pidfile or similar! # otherwise it is just likely to be the _previous_ pidfile or
# similar!
last; last;
} }
} }