]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
moved in functions from runtests.pl to enable the ftpserver to use the
authorDaniel Stenberg <daniel@haxx.se>
Thu, 28 Apr 2005 21:04:08 +0000 (21:04 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 28 Apr 2005 21:04:08 +0000 (21:04 +0000)
killslaves function

tests/ftp.pm

index 078dc61f2ad7b41d791f9510545b6286e8768411..25d7df74524747136d938aaa80d3545919f52bc8 100644 (file)
@@ -1,4 +1,38 @@
-# make sure no leftovers are still running
+#######################################################################
+# Return the pid of the server as found in the given pid file
+#
+sub serverpid {
+    my $PIDFILE = $_[0];
+    open(PFILE, "<$PIDFILE");
+    my $PID=0+<PFILE>;
+    close(PFILE);
+    return $PID;
+}
+
+#######################################################################
+# Check the given test server if it is still alive.
+#
+sub checkserver {
+    my ($pidfile)=@_;
+    my $pid=0;
+
+    # check for pidfile
+    if ( -f $pidfile ) {
+        $pid=serverpid($pidfile);
+        if ($pid ne "" && kill(0, $pid)) {
+            return $pid;
+        }
+        else {
+            return -$pid; # negative means dead process
+        }
+    }
+    return 0;
+}
+
+#############################################################################
+# Make sure no FTP leftovers are still running. Kill all slave processes.
+# This uses pidfiles since it might be used by other processes.
+#
 sub ftpkillslaves {
     my ($versbose) = @_;
     for $ext (("", "ipv6")) {