diff options
-rw-r--r-- | tests/ftp.pm | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/tests/ftp.pm b/tests/ftp.pm index 32c6779e3..663744545 100644 --- a/tests/ftp.pm +++ b/tests/ftp.pm @@ -55,12 +55,14 @@ sub pidfromfile { if(open(PIDF, "<$pidfile")) { my $pidline = <PIDF>; close(PIDF); - chomp $pidline; - $pidline =~ s/^\s+//; - $pidline =~ s/\s+$//; - $pidline =~ s/^[+-]?0+//; - if($pidline =~ $pidpattern) { - $pid = $1; + if($pidline) { + chomp $pidline; + $pidline =~ s/^\s+//; + $pidline =~ s/\s+$//; + $pidline =~ s/^[+-]?0+//; + if($pidline =~ $pidpattern) { + $pid = $1; + } } } } @@ -150,6 +152,13 @@ sub signalpids { if((not defined $signal) || (not defined $pids)) { return; } + if($pids !~ /\s+/) { + # avoid sorting if only one pid + if(checkalivepid($pids) > 0) { + kill($signal, $pids); + } + return; + } my $prev = 0; for(sort({$a <=> $b} split(" ", $pids))) { if($_ =~ $pidpattern) { |