diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-10-31 03:03:00 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-10-31 03:03:00 +0100 |
commit | d2f3a29f45db59ab48fb398b835b377ca4e6833d (patch) | |
tree | 791dc64096e9ff02a3ef14cc3084c7c0b8c79737 | |
parent | wireguard-go-bridge: handle errors in makefile (diff) | |
download | wireguard-apple-d2f3a29f45db59ab48fb398b835b377ca4e6833d.tar.xz wireguard-apple-d2f3a29f45db59ab48fb398b835b377ca4e6833d.zip |
NetworkExtension: close context before turning off go
The go turnOff code waits for all readers to have completed. In order to
make readers complete, we must send the signal to unblock the request.
Thus, we must reorder these.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r-- | WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift index a961f76..5f19fb1 100644 --- a/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift +++ b/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift @@ -125,10 +125,10 @@ class PacketTunnelProvider: NEPacketTunnelProvider { /// Begin the process of stopping the tunnel. override func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) { os_log("Stopping tunnel", log: OSLog.default, type: .info) + wgContext?.closeTunnel() if let handle = wgHandle { wgTurnOff(handle) } - wgContext?.closeTunnel() completionHandler() } |