diff --git a/ShadowsocksX-NG/PingClient.swift b/ShadowsocksX-NG/PingClient.swift index b17c1a5..c8fe76c 100644 --- a/ShadowsocksX-NG/PingClient.swift +++ b/ShadowsocksX-NG/PingClient.swift @@ -144,23 +144,25 @@ class PingServers:NSObject{ if let latency = $0{ self.SerMgr.profiles[k].latency = String(latency) - synchronized(lock: result as AnyObject){ - result.append(k,latency) - } - DispatchQueue.main.async { - // do the UI update HERE - (NSApplication.shared().delegate as! AppDelegate).updateServersMenu() - (NSApplication.shared().delegate as! AppDelegate).updateRunningModeMenu() - } } - - - }) } // after two seconds ,time out delay(3){ DispatchQueue.main.async { + + for k in 0.. Void } -func synchronized(lock: AnyObject, closure: () -> ()) { - objc_sync_enter(lock) - closure() - objc_sync_exit(lock) -} + func cancel(_ task: Task?) { task?(true) }