diff --git a/websocket-sharp/Server/WebSocketSessionManager.cs b/websocket-sharp/Server/WebSocketSessionManager.cs index 8e94708f..8984445a 100644 --- a/websocket-sharp/Server/WebSocketSessionManager.cs +++ b/websocket-sharp/Server/WebSocketSessionManager.cs @@ -240,11 +240,15 @@ namespace WebSocketSharp.Server /// public IEnumerable Sessions { get { - if (_state == ServerState.ShuttingDown) - return new IWebSocketSession[0]; + if (_state != ServerState.Start) + return Enumerable.Empty (); + + lock (_sync) { + if (_state != ServerState.Start) + return Enumerable.Empty (); - lock (_sync) return _sessions.Values.ToList (); + } } }