Merge pull request #330 from litangyu/master

Fix: Fix in ping speed testing blocking the main process, causing the phenomenon of pseudo death
This commit is contained in:
yanue 2020-01-20 16:10:30 +08:00 committed by GitHub
commit 784f92bc8c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -457,23 +457,32 @@ class MenuController: NSObject, NSMenuDelegate {
}
@IBAction func pingSpeed(_ sender: NSMenuItem) {
let normalTitle = sender.title
sender.title = "\(normalTitle) - In Testing"
let itemList = V2rayServer.list()
if itemList.count == 0 {
return
}
for item in itemList {
if !item.isValid {
continue
let queue = DispatchQueue.global()
queue.async {
for item in itemList {
if !item.isValid {
continue
}
let ping = Ping(item: item)
ping.pingProxySpeed()
}
V2rayServer.saveItemList()
let ping = Ping(item: item)
ping.pingProxySpeed()
DispatchQueue.main.async {
sender.title = normalTitle
// refresh server
self.showServers()
}
}
V2rayServer.saveItemList()
// refresh server
self.showServers()
}
func importUri(url: String) {