aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2018-11-03 18:45:26 +0530
committerRoopesh Chander <roop@roopc.net>2018-11-03 18:45:26 +0530
commit538704e7bd30bac3c6922d012b6d917d06b152a4 (patch)
tree4278c5335b3ba6ef6aa7ed4ae5526a2f4ab81bdf /WireGuard
parentSettings: Show the captioned WireGuard logo at the end (diff)
downloadwireguard-apple-538704e7bd30bac3c6922d012b6d917d06b152a4.tar.xz
wireguard-apple-538704e7bd30bac3c6922d012b6d917d06b152a4.zip
Revert "TunnelsManager: initialize observer on correct thread"
Rather, we'll make sure we always call startObservingTunnelStatus from the main thread. This reverts commit d16a6a167c8217e81dd9111d1ad9e4ec6429ef3b. Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard')
-rw-r--r--WireGuard/WireGuard/VPN/TunnelsManager.swift12
1 files changed, 5 insertions, 7 deletions
diff --git a/WireGuard/WireGuard/VPN/TunnelsManager.swift b/WireGuard/WireGuard/VPN/TunnelsManager.swift
index f38ca88..2aa415a 100644
--- a/WireGuard/WireGuard/VPN/TunnelsManager.swift
+++ b/WireGuard/WireGuard/VPN/TunnelsManager.swift
@@ -399,14 +399,13 @@ class TunnelContainer: NSObject {
}
private func startObservingTunnelStatus() {
- DispatchQueue.main.async { [weak self] in
- guard let s = self else { return }
- if (s.statusObservationToken != nil) { return }
- let connection = s.tunnelProvider.connection
- s.statusObservationToken = NotificationCenter.default.addObserver(
+ if (statusObservationToken != nil) { return }
+ let connection = tunnelProvider.connection
+ statusObservationToken = NotificationCenter.default.addObserver(
forName: .NEVPNStatusDidChange,
object: connection,
- queue: nil) { (_) in
+ queue: nil) { [weak self] (_) in
+ guard let s = self else { return }
if ((s.status == .restarting) && (connection.status == .disconnected || connection.status == .disconnecting)) {
// Don't change s.status when disconnecting for a restart
if (connection.status == .disconnected) {
@@ -422,7 +421,6 @@ class TunnelContainer: NSObject {
if (s.status == .inactive) {
s.stopObservingTunnelStatus()
}
- }
}
}