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>
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user