mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
Allow killsockfilters() to take a 5th optional parameter that when provided
indicates that only one of the two possible sockfilter processes should be killed. Valid values for this parameter are 'main' and 'data'.
This commit is contained in:
parent
471e8eefb6
commit
422a7869be
41
tests/ftp.pm
41
tests/ftp.pm
@ -177,36 +177,43 @@ sub killpid {
|
||||
# killsockfilters kills sockfilter processes for a given server.
|
||||
#
|
||||
sub killsockfilters {
|
||||
my ($proto, $ipvnum, $idnum, $verbose) = @_;
|
||||
my ($proto, $ipvnum, $idnum, $verbose, $which) = @_;
|
||||
my $server;
|
||||
my $pidfile;
|
||||
my $pid;
|
||||
|
||||
return if($proto !~ /^(ftp|imap|pop3|smtp)$/);
|
||||
|
||||
die "unsupported sockfilter: $which"
|
||||
if($which && ($which !~ /^(main|data)$/));
|
||||
|
||||
$server = servername_id($proto, $ipvnum, $idnum) if($verbose);
|
||||
|
||||
$pidfile = mainsockf_pidfilename($proto, $ipvnum, $idnum);
|
||||
$pid = processexists($pidfile);
|
||||
if($pid > 0) {
|
||||
printf("* kill pid for %s-%s => %d\n", $server,
|
||||
($proto eq 'ftp')?'ctrl':'filt', $pid) if($verbose);
|
||||
kill("KILL", $pid);
|
||||
waitpid($pid, 0);
|
||||
if(!$which || ($which eq 'main')) {
|
||||
$pidfile = mainsockf_pidfilename($proto, $ipvnum, $idnum);
|
||||
$pid = processexists($pidfile);
|
||||
if($pid > 0) {
|
||||
printf("* kill pid for %s-%s => %d\n", $server,
|
||||
($proto eq 'ftp')?'ctrl':'filt', $pid) if($verbose);
|
||||
kill("KILL", $pid);
|
||||
waitpid($pid, 0);
|
||||
}
|
||||
unlink($pidfile) if(-f $pidfile);
|
||||
}
|
||||
unlink($pidfile) if(-f $pidfile);
|
||||
|
||||
return if($proto ne 'ftp');
|
||||
|
||||
$pidfile = datasockf_pidfilename($proto, $ipvnum, $idnum);
|
||||
$pid = processexists($pidfile);
|
||||
if($pid > 0) {
|
||||
printf("* kill pid for %s-data => %d\n", $server,
|
||||
$pid) if($verbose);
|
||||
kill("KILL", $pid);
|
||||
waitpid($pid, 0);
|
||||
if(!$which || ($which eq 'data')) {
|
||||
$pidfile = datasockf_pidfilename($proto, $ipvnum, $idnum);
|
||||
$pid = processexists($pidfile);
|
||||
if($pid > 0) {
|
||||
printf("* kill pid for %s-data => %d\n", $server,
|
||||
$pid) if($verbose);
|
||||
kill("KILL", $pid);
|
||||
waitpid($pid, 0);
|
||||
}
|
||||
unlink($pidfile) if(-f $pidfile);
|
||||
}
|
||||
unlink($pidfile) if(-f $pidfile);
|
||||
}
|
||||
|
||||
#######################################################################
|
||||
|
Loading…
Reference in New Issue
Block a user