diff --git a/Source/SocketEngine.swift b/Source/SocketEngine.swift index 0485b1c..9ba7e36 100644 --- a/Source/SocketEngine.swift +++ b/Source/SocketEngine.swift @@ -202,9 +202,12 @@ public final class SocketEngine: NSObject, SocketEnginePollable, SocketEngineWeb postSendClose(nil, nil, nil) } else { // We need to take special care when we're polling that we send it ASAP - postWait.append(String(SocketEnginePacketType.Close.rawValue)) - let req = createRequestForPostWithPostWait() - doRequest(req, withCallback: postSendClose) + // Also make sure we're on the emitQueue since we're touching postWait + dispatch_sync(emitQueue) { + self.postWait.append(String(SocketEnginePacketType.Close.rawValue)) + let req = self.createRequestForPostWithPostWait() + self.doRequest(req, withCallback: postSendClose) + } } } diff --git a/Source/SocketIOClient.swift b/Source/SocketIOClient.swift index 687a4cb..5523dcb 100644 --- a/Source/SocketIOClient.swift +++ b/Source/SocketIOClient.swift @@ -214,9 +214,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketParsable } func didDisconnect(reason: String) { - guard status != .Closed else { - return - } + guard status != .Closed else { return } DefaultSocketLogger.Logger.log("Disconnected: %@", type: logType, args: reason)