]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
runtests: don't try to stop stunnel before trying again
authorDan Fandrich <dan@coneharvesters.com>
Mon, 17 Apr 2023 23:57:17 +0000 (16:57 -0700)
committerDan Fandrich <dan@coneharvesters.com>
Tue, 18 Apr 2023 20:18:17 +0000 (13:18 -0700)
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

tests/servers.pm

index f877374b19d754ff48c390f64450877cea44c419..ae0e1cd2ca45ed57ffef64b54e8ba373a536cdf6 100644 (file)
@@ -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;