From 8cf17862965ab409ecac07f1330352bd78d362b8 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Thu, 28 Apr 2005 07:36:55 +0000
Subject: kill slave processes when they fail

---
 tests/ftpserver.pl | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'tests')

diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 6559b0ba0..a3837f934 100644
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -111,6 +111,8 @@ sub startsf {
     my $pong = <SFREAD>;
 
     if($pong !~ /^PONG/) {
+        logmsg "Failed sockfilt command: $cmd\n";
+        kill(9, $sfpid);
         die "Failed to start sockfilt!";
     }
     open(STDIN,  "<&SFREAD")   || die "can't dup client to stdin";
@@ -526,8 +528,9 @@ sub PASV_command {
     my $pong = <DREAD>;
 
     if($pong !~ /^PONG/) {
+        kill(9, $slavepid);
         sendcontrol "500 no free ports!\r\n";
-        logmsg "couldn't find free port\n";
+        logmsg "failed to run sockfilt for data connection\n";
         return 0;
     }
 
@@ -647,7 +650,8 @@ sub PORT_command {
     my $pong = <DREAD>;
 
     if($pong !~ /^PONG/) {
-        logmsg "sockfilt failed!\n";
+        logmsg "Failed sockfilt for data connection\n";
+        kill(9, $slavepid);
     }
     logmsg "====> Client DATA connect to port $port\n";
 
-- 
cgit v1.2.3