diff --git a/websocket-sharp/Server/WebSocketServer.cs b/websocket-sharp/Server/WebSocketServer.cs index edc207a3..abe47663 100644 --- a/websocket-sharp/Server/WebSocketServer.cs +++ b/websocket-sharp/Server/WebSocketServer.cs @@ -822,8 +822,10 @@ namespace WebSocketSharp.Server { while (true) { TcpClient cl = null; + try { cl = _listener.AcceptTcpClient (); + ThreadPool.QueueUserWorkItem ( state => { try { @@ -845,6 +847,7 @@ namespace WebSocketSharp.Server catch (SocketException ex) { if (_state == ServerState.ShuttingDown) { _log.Info ("The underlying listener is stopped."); + break; }