summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2010-03-26 21:43:50 +0000
committerErmal <eri@pfsense.org>2010-03-26 21:43:50 +0000
commita01d8d8bf76245f10b8259eb4b99ef47a9a77209 (patch)
treeccc19c3c0c4ff7429f9f4f5ad6be3f1ed73a895d
parent2b5f6a7e48aeb633654636af628a8a51dc518730 (diff)
downloadpfsense-a01d8d8bf76245f10b8259eb4b99ef47a9a77209.zip
pfsense-a01d8d8bf76245f10b8259eb4b99ef47a9a77209.tar.gz
Send signal to the dhcpleases daemon using its pidfile if it is running to reload.
-rw-r--r--etc/inc/services.inc12
1 files changed, 10 insertions, 2 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc
index 827045a..8bed47d 100644
--- a/etc/inc/services.inc
+++ b/etc/inc/services.inc
@@ -40,12 +40,20 @@
function services_parse_dhcpd_hostnames() {
global $g, $config;
- mwexec("/bin/pkill dhcpleases");
+
// Launch if option enabled
if (isset($config['dnsmasq']['regdhcp'])) {
mwexec("/bin/ln /etc/hosts {$g['varetc_path']}/hosts");
- mwexec_bg("/usr/local/sbin/dhcpleases {$g['dhcpd_chroot_path']}/var/db/dhcpd.leases {$config['system']['domain']} {$g['varrun_path']}/dnsmasq.pid {$g['varetc_path']}/hosts");
+ if (file_exists("{$g['varrun_path']}/dhcpleases.pid"))
+ sigkillbypid("{$g['varrun_path']}/dhcpleases.pid", "HUP");
+ else
+ mwexec("/usr/local/sbin/dhcpleases {$g['dhcpd_chroot_path']}/var/db/dhcpd.leases {$config['system']['domain']} {$g['varrun_path']}/dnsmasq.pid {$g['varetc_path']}/hosts");
+ } else {
+ @unlink("{$g['varetc_path']}/hosts");
+ sigkillbypid("{$g['varrun_path']}/dhcpleases.pid", "TERM");
+ @unlink("{$g['varrun_path']}/dhcpleases.pid");
}
+
}
function services_dhcpd_configure() {
OpenPOWER on IntegriCloud