Переглянути джерело

Removed objc_sync_enter()/exit() dependency ( Linux ).

Damian Kołakowski 10 роки тому
батько
коміт
07d1430ecb
1 змінених файлів з 4 додано та 4 видалено
  1. 4 4
      Sources/Swifter/HttpServer.swift

+ 4 - 4
Sources/Swifter/HttpServer.swift

@@ -20,7 +20,7 @@ public class HttpServer {
     
     
     private var listenSocket: Socket = Socket(socketFileDescriptor: -1)
     private var listenSocket: Socket = Socket(socketFileDescriptor: -1)
     private var clientSockets: Set<Socket> = []
     private var clientSockets: Set<Socket> = []
-    private let clientSocketsLock = 0
+    private let clientSocketsLock = NSLock()
     
     
     public init() { }
     public init() { }
     
     
@@ -90,10 +90,10 @@ public class HttpServer {
         }
         }
     }
     }
     
     
-    private class func lock(handle: AnyObject, closure: () -> ()) {
-        objc_sync_enter(handle)
+    private class func lock(handle: NSLock, closure: () -> ()) {
+        handle.lock()
         closure()
         closure()
-        objc_sync_exit(handle)
+        handle.unlock();
     }
     }
     
     
     private class func respond(socket: Socket, response: HttpResponse, keepAlive: Bool) throws {
     private class func respond(socket: Socket, response: HttpResponse, keepAlive: Bool) throws {