wg-quick: wait for interface to disappear on freebsd
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
599b84fbd1
commit
4410c87c39
1 changed files with 9 additions and 0 deletions
|
@ -137,8 +137,17 @@ del_routes() {
|
||||||
}
|
}
|
||||||
|
|
||||||
del_if() {
|
del_if() {
|
||||||
|
local line monitor_pid
|
||||||
[[ $HAVE_SET_DNS -eq 0 ]] || unset_dns
|
[[ $HAVE_SET_DNS -eq 0 ]] || unset_dns
|
||||||
|
exec 39< <(exec route -n monitor 2>/dev/null)
|
||||||
|
monitor_pid=$!
|
||||||
cmd rm -f "/var/run/wireguard/$INTERFACE.sock"
|
cmd rm -f "/var/run/wireguard/$INTERFACE.sock"
|
||||||
|
while ifconfig "$INTERFACE" >/dev/null 2>&1; do
|
||||||
|
while read -r line; do
|
||||||
|
[[ $line =~ ^RTM_IFANNOUNCE:.* ]] && break
|
||||||
|
done <&39
|
||||||
|
done
|
||||||
|
kill $monitor_pid
|
||||||
}
|
}
|
||||||
|
|
||||||
up_if() {
|
up_if() {
|
||||||
|
|
Loading…
Reference in a new issue