From: Dan Fandrich Date: Mon, 17 Apr 2023 23:57:17 +0000 (-0700) Subject: runtests: don't try to stop stunnel before trying again X-Git-Tag: curl-8_1_0~109 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f9e8c5f5781c85a16f1da1c55af02e0bdd688af6;p=thirdparty%2Fcurl.git runtests: don't try to stop stunnel before trying again Calling stopserver() before retrying stunnel due to an error would stop the dependent server (such as HTTP) meaning stunnel would have nothing to talk to when it came up. Don't try to force a stop when it didn't actually start. Also, don't mark the server as bad for future use when it starts up on a retry. Reported-by: eaglegai at github Tested-by: eaglegai at github Fixes #10976 --- diff --git a/tests/servers.pm b/tests/servers.pm index f877374b19..ae0e1cd2ca 100644 --- a/tests/servers.pm +++ b/tests/servers.pm @@ -1372,11 +1372,14 @@ sub runhttpsserver { if($httpspid <= 0 || !pidexists($httpspid)) { # it is NOT alive - stopserver($server, "$pid2"); + # don't call stopserver since that will also kill the dependent + # server that has already been started properly $doesntrun{$pidfile} = 1; $httpspid = $pid2 = 0; next; } + + $doesntrun{$pidfile} = 0; # we have a server! if($verb) { logmsg "RUN: $srvrname server is PID $httpspid port $port\n"; @@ -1586,12 +1589,14 @@ sub runsecureserver { $port += 1 + int(rand(700)); next if exists $usedports{$port}; my $options = "$flags --accept $port"; + my $cmd = "$perl $srcdir/secureserver.pl $options"; ($protospid, $pid2) = startnew($cmd, $pidfile, 15, 0); if($protospid <= 0 || !pidexists($protospid)) { # it is NOT alive - stopserver($server, "$pid2"); + # don't call stopserver since that will also kill the dependent + # server that has already been started properly $doesntrun{$pidfile} = 1; $protospid = $pid2 = 0; next;