diff --git a/websocket-sharp/Server/WebSocketServer.cs b/websocket-sharp/Server/WebSocketServer.cs index f9a8eb88..23423eb7 100644 --- a/websocket-sharp/Server/WebSocketServer.cs +++ b/websocket-sharp/Server/WebSocketServer.cs @@ -588,13 +588,25 @@ namespace WebSocketSharp.Server } set { - var msg = _state.CheckIfAvailable (true, false, false) ?? value.CheckIfValidWaitTime (); - if (msg != null) { + string msg; + if (!checkIfAvailable (true, false, false, true, out msg)) { + _logger.Error (msg); + return; + } + + if (!value.CheckWaitTime (out msg)) { _logger.Error (msg); return; } - _services.WaitTime = value; + lock (_sync) { + if (!checkIfAvailable (true, false, false, true, out msg)) { + _logger.Error (msg); + return; + } + + _services.WaitTime = value; + } } }