diff --git a/websocket-sharp/Server/WebSocketServer.cs b/websocket-sharp/Server/WebSocketServer.cs index 0aa68968..ff69fb86 100644 --- a/websocket-sharp/Server/WebSocketServer.cs +++ b/websocket-sharp/Server/WebSocketServer.cs @@ -909,11 +909,22 @@ namespace WebSocketSharp.Server } try { + var threw = false; try { stopReceiving (5000); } + catch { + threw = true; + throw; + } finally { - _services.Stop (code, reason); + try { + _services.Stop (code, reason); + } + catch { + if (!threw) + throw; + } } } finally {