From 5e4d07e06e88129a3b57556d3fbb7f626e2d468c Mon Sep 17 00:00:00 2001 From: mcfans Date: Fri, 9 Jun 2017 13:04:45 +0800 Subject: [PATCH] make the ping process Thread-safe --- ShadowsocksX-NG/PingClient.swift | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/ShadowsocksX-NG/PingClient.swift b/ShadowsocksX-NG/PingClient.swift index b17c1a5..e421ed6 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..