diff --git a/websocket-sharp/Net/EndPointListener.cs b/websocket-sharp/Net/EndPointListener.cs index 8e1bb522..9ac8370f 100644 --- a/websocket-sharp/Net/EndPointListener.cs +++ b/websocket-sharp/Net/EndPointListener.cs @@ -270,11 +270,15 @@ namespace WebSocketSharp.Net processAccepted (sock, lsnr); } - private static void processAccepted (Socket socket, EndPointListener listener) + private static void processAccepted ( + Socket socket, EndPointListener listener + ) { HttpConnection conn = null; + try { conn = new HttpConnection (socket, listener); + lock (listener._unregisteredSync) listener._unregistered[conn] = conn; @@ -283,6 +287,7 @@ namespace WebSocketSharp.Net catch { if (conn != null) { conn.Close (true); + return; }