diff --git a/websocket-sharp/Server/WebSocketSessionManager.cs b/websocket-sharp/Server/WebSocketSessionManager.cs index 8b2f7cd3..188db488 100644 --- a/websocket-sharp/Server/WebSocketSessionManager.cs +++ b/websocket-sharp/Server/WebSocketSessionManager.cs @@ -280,13 +280,24 @@ namespace WebSocketSharp.Server return _waitTime; } - internal set { - if (value == _waitTime) + set { + if (value <= TimeSpan.Zero) + throw new ArgumentOutOfRangeException ("value", "Zero or less."); + + string msg; + if (!canSet (out msg)) { + _log.Warn (msg); return; + } - _waitTime = value; - foreach (var session in Sessions) - session.Context.WebSocket.WaitTime = value; + lock (_sync) { + if (!canSet (out msg)) { + _log.Warn (msg); + return; + } + + _waitTime = value; + } } }