mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-13 16:14:40 +00:00
system: default to wait for pid during signaling
Except when HUP is used, which would wait forever.
This commit is contained in:
parent
d1f981b6c3
commit
4292bd3500
@ -886,14 +886,14 @@ function interface_bring_down($interface = 'wan', $ifacecfg = false)
|
||||
configdp_run('interface reconfigure', [$interface], true);
|
||||
break;
|
||||
}
|
||||
killbypid("/var/run/{$ppp['type']}_{$interface}.pid", 'TERM', true);
|
||||
killbypid("/var/run/{$ppp['type']}_{$interface}.pid");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'dhcp':
|
||||
killbypid("/var/run/dhclient.{$realif}.pid", 'TERM', true);
|
||||
killbypid("/var/run/dhclient.{$realif}.pid");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -1245,7 +1245,7 @@ EOD;
|
||||
unset($mpdconf);
|
||||
|
||||
/* stop the service as a precaution */
|
||||
killbypid("/var/run/{$ppp['type']}_{$interface}.pid", 'TERM', true);
|
||||
killbypid("/var/run/{$ppp['type']}_{$interface}.pid");
|
||||
|
||||
// Create the uptime log if requested and if it doesn't exist already, or delete it if it is no longer requested.
|
||||
if (isset($ppp['uptime'])) {
|
||||
@ -1310,7 +1310,7 @@ function interface_proxyarp_configure($interface = '')
|
||||
|
||||
/* kill any running choparp, on restart "all" */
|
||||
if (empty($interface)) {
|
||||
killbyname('choparp');
|
||||
killbyname('choparp'); /* XXX only kills one */
|
||||
}
|
||||
|
||||
$paa = array();
|
||||
@ -2703,7 +2703,7 @@ function interface_dhcpv6_configure($interface, $wancfg)
|
||||
$realifv6 = get_real_interface($interface, 'inet6');
|
||||
|
||||
/* always kill rtsold in case of reconfigure */
|
||||
killbypid('/var/run/rtsold.pid', 'TERM', true);
|
||||
killbypid('/var/run/rtsold.pid');
|
||||
|
||||
$rtsoldcommand = exec_safe(
|
||||
'/usr/sbin/rtsold -p %s -M %s -O %s -R %s -a -u',
|
||||
@ -3113,7 +3113,7 @@ function interface_dhcp_configure($interface = 'wan')
|
||||
return;
|
||||
}
|
||||
|
||||
killbypid("/var/run/dhclient.{$wanif}.pid", 'TERM', true);
|
||||
killbypid("/var/run/dhclient.{$wanif}.pid");
|
||||
|
||||
$fd = fopen("/var/etc/dhclient_{$interface}.conf", "w");
|
||||
if (!$fd) {
|
||||
|
||||
@ -572,7 +572,7 @@ function dhcpd_dhcp4_configure($verbose = false)
|
||||
|
||||
service_log('Starting DHCPv4 service...', $verbose);
|
||||
|
||||
killbypid('/var/dhcpd/var/run/dhcpd.pid', 'TERM', true);
|
||||
killbypid('/var/dhcpd/var/run/dhcpd.pid');
|
||||
|
||||
/* Only consider DNS servers with IPv4 addresses for the IPv4 DHCP server. */
|
||||
$dns_arrv4 = [];
|
||||
@ -1272,8 +1272,8 @@ function dhcpd_dhcp6_configure($verbose = false, $blacklist = [])
|
||||
|
||||
service_log('Starting DHCPv6 service...', $verbose);
|
||||
|
||||
killbypid('/var/dhcpd/var/run/dhcpdv6.pid', 'TERM', true);
|
||||
killbypid('/var/run/dhcpleases6.pid', 'TERM', true);
|
||||
killbypid('/var/dhcpd/var/run/dhcpdv6.pid');
|
||||
killbypid('/var/run/dhcpleases6.pid');
|
||||
|
||||
$iflist = get_configured_interface_with_descr();
|
||||
$ifconfig_details = legacy_interfaces_details();
|
||||
@ -1628,7 +1628,7 @@ function dhcpd_dhcrelay4_configure($verbose = false)
|
||||
|
||||
service_log('Starting DHCPv4 relay...', $verbose);
|
||||
|
||||
killbypid('/var/run/dhcrelay.pid', 'TERM', true);
|
||||
killbypid('/var/run/dhcrelay.pid');
|
||||
|
||||
$iflist = get_configured_interface_with_descr();
|
||||
$ifconfig_details = legacy_interfaces_details();
|
||||
@ -1740,7 +1740,7 @@ function dhcpd_dhcrelay6_configure($verbose = false)
|
||||
|
||||
service_log('Starting DHCPv6 relay...', $verbose);
|
||||
|
||||
killbypid('/var/run/dhcrelay6.pid', 'TERM', true);
|
||||
killbypid('/var/run/dhcrelay6.pid');
|
||||
|
||||
$iflist = get_configured_interface_with_descr();
|
||||
$ifconfig_details = legacy_interfaces_details();
|
||||
|
||||
@ -32,12 +32,12 @@
|
||||
|
||||
require_once 'IPv6.inc';
|
||||
|
||||
function killbyname($procname, $sig = 'TERM', $waitforit = false)
|
||||
function killbyname($procname, $sig = 'TERM', $waitforit = true)
|
||||
{
|
||||
_killbypid(shell_safe('/bin/pgrep -anx %s', $procname), $sig, $waitforit);
|
||||
}
|
||||
|
||||
function killbypid($pid_or_file, $sig = 'TERM', $waitforit = false)
|
||||
function killbypid($pid_or_file, $sig = 'TERM', $waitforit = true)
|
||||
{
|
||||
$pid = $pid_or_file;
|
||||
|
||||
@ -56,7 +56,7 @@ function _killbypid($pid, $sig, $waitforit)
|
||||
|
||||
mwexecf('/bin/kill -%s %s', [$sig, $pid]);
|
||||
|
||||
if (!$waitforit) {
|
||||
if (!$waitforit || $sig == 'HUP') {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -197,7 +197,7 @@ function service_control_stop($name, $extras)
|
||||
mwexec($cmd);
|
||||
}
|
||||
} elseif (isset($service['pidfile'])) {
|
||||
killbypid($service['pidfile'], 'TERM', true);
|
||||
killbypid($service['pidfile']);
|
||||
} else {
|
||||
/* last resort, but not very elegant */
|
||||
killbyname($service['name']);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user