diff options
author | Ermal <eri@pfsense.org> | 2010-03-26 21:43:50 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2010-03-26 21:43:50 +0000 |
commit | a01d8d8bf76245f10b8259eb4b99ef47a9a77209 (patch) | |
tree | ccc19c3c0c4ff7429f9f4f5ad6be3f1ed73a895d /etc/inc/services.inc | |
parent | 2b5f6a7e48aeb633654636af628a8a51dc518730 (diff) | |
download | pfsense-a01d8d8bf76245f10b8259eb4b99ef47a9a77209.zip pfsense-a01d8d8bf76245f10b8259eb4b99ef47a9a77209.tar.gz |
Send signal to the dhcpleases daemon using its pidfile if it is running to reload.
Diffstat (limited to 'etc/inc/services.inc')
-rw-r--r-- | etc/inc/services.inc | 12 |
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() { |