diff options
Diffstat (limited to 'etc/inc/captiveportal.inc')
-rw-r--r-- | etc/inc/captiveportal.inc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/etc/inc/captiveportal.inc b/etc/inc/captiveportal.inc index 9418c14..1fc3d73 100644 --- a/etc/inc/captiveportal.inc +++ b/etc/inc/captiveportal.inc @@ -1023,8 +1023,12 @@ function captiveportal_allowedhostname_configure() { $cp_filterdns_filename = "{$g['varetc_path']}/filterdns-{$cpzone}-captiveportal.conf"; @file_put_contents($cp_filterdns_filename, $cp_filterdns_conf); unset($cp_filterdns_conf); - killbypid("{$g['tmp_path']}/filterdns-{$cpzone}-cpah.pid"); - mwexec("/usr/local/sbin/filterdns -p {$g['tmp_path']}/filterdns-{$cpzone}-cpah.pid -i 300 -c {$cp_filterdns_filename} -y {$cpzone} -d 1"); + if (isvalidpid("{$g['tmp_path']}/filterdns-{$cpzone}-cpah.pid")) + sigkillbypid("{$g['tmp_path']}/filterdns-{$cpzone}-cpah.pid", "HUP"); + else { + killbypid("{$g['tmp_path']}/filterdns-{$cpzone}-cpah.pid"); + mwexec("/usr/local/sbin/filterdns -p {$g['tmp_path']}/filterdns-{$cpzone}-cpah.pid -i 300 -c {$cp_filterdns_filename} -y {$cpzone} -d 1"); + } } return $rules; |