Forráskód Böngészése

Merge pull request #187 from oliveroneill/socket_shutdown_fix

Bug fix with socket being shutdown multiple times
Patrick Culligan 9 éve
szülő
commit
9b09a2e5c3
1 módosított fájl, 10 hozzáadás és 0 törlés
  1. 10 0
      Sources/Socket.swift

+ 10 - 0
Sources/Socket.swift

@@ -30,6 +30,8 @@ public enum SocketError: ErrorType {
 public class Socket: Hashable, Equatable {
         
     let socketFileDescriptor: Int32
+    private var shutdown = false
+
     
     public init(socketFileDescriptor: Int32) {
         self.socketFileDescriptor = socketFileDescriptor
@@ -42,10 +44,18 @@ public class Socket: Hashable, Equatable {
     public var hashValue: Int { return Int(self.socketFileDescriptor) }
     
     public func release() {
+        if shutdown {
+            return
+        }
+        shutdown = true
         Socket.release(self.socketFileDescriptor)
     }
     
     public func shutdwn() {
+        if shutdown {
+            return
+        }
+        shutdown = true
         Socket.shutdwn(self.socketFileDescriptor)
     }