From 059624f23c600c77d588a260bc76397ce98803cb Mon Sep 17 00:00:00 2001 From: sta Date: Sun, 4 Dec 2016 17:05:55 +0900 Subject: [PATCH] [Modify] Polish it --- websocket-sharp/WebSocket.cs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index c8eb10ca..b99e0cb3 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -82,6 +82,7 @@ namespace WebSocketSharp private string _extensions; private bool _extensionsRequested; private object _forMessageEventQueue; + private object _forPing; private object _forSend; private object _forState; private MemoryStream _fragmentsBuffer; @@ -1227,6 +1228,7 @@ namespace WebSocketSharp { _compression = CompressionMethod.None; _cookies = new CookieCollection (); + _forPing = new object (); _forSend = new object (); _forState = new object (); _messageEventQueue = new Queue (); @@ -1327,15 +1329,17 @@ namespace WebSocketSharp if (receivePong == null) return false; - try { - receivePong.Reset (); - if (!send (Fin.Final, Opcode.Ping, data, false)) - return false; + lock (_forPing) { + try { + receivePong.Reset (); + if (!send (Fin.Final, Opcode.Ping, data, false)) + return false; - return receivePong.WaitOne (_waitTime); - } - catch (ObjectDisposedException) { - return false; + return receivePong.WaitOne (_waitTime); + } + catch (ObjectDisposedException) { + return false; + } } }