From d77f6f5659907189d80d4d12e4dd4b6c5474fe48 Mon Sep 17 00:00:00 2001 From: Benjamin Sergeant Date: Sat, 16 Mar 2019 11:38:23 -0700 Subject: [PATCH] linux hangs when closing --- ixwebsocket/IXWebSocketTransport.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ixwebsocket/IXWebSocketTransport.cpp b/ixwebsocket/IXWebSocketTransport.cpp index 1158d260..a1f994df 100644 --- a/ixwebsocket/IXWebSocketTransport.cpp +++ b/ixwebsocket/IXWebSocketTransport.cpp @@ -243,9 +243,15 @@ namespace ix } else if (pollResult == PollResultType_CloseRequest) { - ; + _socket->close(); } + // Avoid a race condition where we get stuck in select + // while closing. + if (_readyState == CLOSING) + { + _socket->close(); + } }, _heartBeatPeriod); }