]> granicus.if.org Git - curl/commitdiff
When starting the ftp server, wait a few seconds to make really sure that
authorDaniel Stenberg <daniel@haxx.se>
Mon, 2 May 2005 09:08:44 +0000 (09:08 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 2 May 2005 09:08:44 +0000 (09:08 +0000)
a pidfile for the server appears as otherwise it failed.

tests/runtests.pl

index c7f9618daefb58fde36a5cd1f2a9ed5254d2fae6..97b6c42b3a12ded0eaf601cb6b1095350e143797 100755 (executable)
@@ -557,11 +557,22 @@ sub runftpserver {
 
     my $ftppid = startnew($cmd);
 
-    if(!kill(0, $ftppid)) {
+    if(!$ftppid || !kill(0, $ftppid)) {
         # it is NOT alive
         print "RUN: failed to start the FTP$id$nameext server!\n";
-        stopservers($verbose);
-        exit;
+        return -1;
+    }
+
+    # Make sure there is a pidfile present before we proceed. Because if we
+    # don't see one within a few secs, the server doesn't work. This mostly
+    # happens when the server finds out it cannot use the ipv6 protocol.
+    my $count=3;
+    while(! -f $pidfile) {
+        if(!$count--) {
+            print "RUN: failed starting FTP$id$nameext server (no pidfile)!\n";
+            return -1;
+        }
+        sleep(1);
     }
 
     if($verbose) {