diff --git a/websocket-sharp/Server/HttpServer.cs b/websocket-sharp/Server/HttpServer.cs index 3c614230..e7f81c7d 100644 --- a/websocket-sharp/Server/HttpServer.cs +++ b/websocket-sharp/Server/HttpServer.cs @@ -1039,11 +1039,19 @@ namespace WebSocketSharp.Server /// public void Stop (CloseStatusCode code, string reason) { - lock (_sync) { - var msg = _state.CheckIfAvailable (false, true, false) ?? - WebSocket.CheckCloseParameters (code, reason, false); + string msg; + if (!checkIfAvailable (false, true, false, false, out msg)) { + _logger.Error (msg); + return; + } - if (msg != null) { + if (!WebSocket.CheckParametersForClose (code, reason, false, out msg)) { + _logger.Error (msg); + return; + } + + lock (_sync) { + if (!checkIfAvailable (false, true, false, false, out msg)) { _logger.Error (msg); return; }