diff --git a/websocket-sharp/Server/WebSocketServer.cs b/websocket-sharp/Server/WebSocketServer.cs index 21159aea..c7f45414 100644 --- a/websocket-sharp/Server/WebSocketServer.cs +++ b/websocket-sharp/Server/WebSocketServer.cs @@ -904,10 +904,17 @@ namespace WebSocketSharp.Server _state = ServerState.ShuttingDown; } - stopReceiving (5000); - _services.Stop (code, reason); - - _state = ServerState.Stop; + try { + try { + stopReceiving (5000); + } + finally { + _services.Stop (code, reason); + } + } + finally { + _state = ServerState.Stop; + } } private void stopReceiving (int millisecondsTimeout)