From 913c370c2504fca720bc3b32bd7cd373499c31e0 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 28 Apr 2005 21:04:08 +0000 Subject: [PATCH] moved in functions from runtests.pl to enable the ftpserver to use the killslaves function --- tests/ftp.pm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/tests/ftp.pm b/tests/ftp.pm index 078dc61f2..25d7df745 100644 --- a/tests/ftp.pm +++ b/tests/ftp.pm @@ -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+; + 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")) {