diff --git a/websocket-sharp/Server/WebSocketServer.cs b/websocket-sharp/Server/WebSocketServer.cs index 1ebc0361..4f131360 100644 --- a/websocket-sharp/Server/WebSocketServer.cs +++ b/websocket-sharp/Server/WebSocketServer.cs @@ -466,13 +466,20 @@ namespace WebSocketSharp.Server } set { - var msg = _state.CheckIfAvailable (true, false, false); - if (msg != null) { + string msg; + if (!checkIfAvailable (true, false, false, true, out msg)) { _logger.Error (msg); return; } - _realm = value; + lock (_sync) { + if (!checkIfAvailable (true, false, false, true, out msg)) { + _logger.Error (msg); + return; + } + + _realm = value; + } } }