]> granicus.if.org Git - curl/commitdiff
kill slave processes when they fail
authorDaniel Stenberg <daniel@haxx.se>
Thu, 28 Apr 2005 07:36:55 +0000 (07:36 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 28 Apr 2005 07:36:55 +0000 (07:36 +0000)
tests/ftpserver.pl

index 6559b0ba0d620cf4c1a17c9f52b1986881f455d7..a3837f9341eff1b0952453fc575675a9161f7464 100644 (file)
@@ -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";