From e6dc3265fe76d00aaf250cc7bf5515c1e3d922d4 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Tue, 9 Jan 2018 11:13:55 +0000 Subject: [PATCH] interfaces: wait for completion of dhcp6c termination --- src/etc/inc/interfaces.inc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 87af3d88d..bd313c9ff 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -3233,9 +3233,10 @@ function interface_dhcpv6_configure($interface = 'wan', $wancfg) $rtsoldscript .= "\techo \${2} > /tmp/{$wanif}_routerv6\n"; $rtsoldscript .= "\techo \${2} > /tmp/{$wanif}_defaultgwv6\n"; $rtsoldscript .= "fi\n"; - $rtsoldscript .= "if [ -f /var/run/dhcp6c_{$wanif}.pid ]; then\n"; - $rtsoldscript .= "\t/bin/pkill -F /var/run/dhcp6c_{$wanif}.pid\n"; - $rtsoldscript .= "\t/bin/sleep 1\n"; + $rtsoldscript .= "PID=$(cat /var/run/dhcp6c_{$wanif}.pid)\n"; + $rtsoldscript .= "if [ -n \"\${PID}\" ]; then\n"; + $rtsoldscript .= "\t/bin/kill \${PID}\n"; + $rtsoldscript .= "\t/bin/pwait \${PID}\n"; $rtsoldscript .= "fi\n"; $rtsoldscript .= "/usr/bin/logger -t rtsold \"Starting dhcp6 client for interface {$interface}({$wanif})\"\n"; $rtsoldscript .= "$dhcp6ccommand\n";