diff options
Diffstat (limited to 'etc/inc/vpn.inc')
-rw-r--r-- | etc/inc/vpn.inc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/etc/inc/vpn.inc b/etc/inc/vpn.inc index 26d8bcb..f7cd290 100644 --- a/etc/inc/vpn.inc +++ b/etc/inc/vpn.inc @@ -977,9 +977,12 @@ EOD; file_put_contents("{$g['varetc_path']}/ipsec/filterdns-ipsec.hosts", $hostnames); unset($hostnames); - killbypid("{$g['varrun_path']}/filterdns-ipsec.pid"); - sleep(1); - mwexec("/usr/local/sbin/filterdns -p {$g['varrun_path']}/filterdns-ipsec.pid -i {$interval} -c {$g['varetc_path']}/ipsec/filterdns-ipsec.hosts -d 1"); + if (isvalidpid("{$g['varrun_path']}/filterdns-ipsec.pid")) + sigkillbypid("{$g['varrun_path']}/filterdns-ipsec.pid", "HUP"); + else { + killbypid("{$g['varrun_path']}/filterdns-ipsec.pid"); + mwexec("/usr/local/sbin/filterdns -p {$g['varrun_path']}/filterdns-ipsec.pid -i {$interval} -c {$g['varetc_path']}/ipsec/filterdns-ipsec.hosts -d 1"); + } } vpn_ipsec_failover_configure(); |