[Fix] Check if can add a connection

master
sta 10 years ago
parent afd6191331
commit c9511823b8

@ -294,7 +294,11 @@ namespace WebSocketSharp.Net
var lsnr = conn._context.Listener; var lsnr = conn._context.Listener;
if (conn._lastListener != lsnr) { if (conn._lastListener != lsnr) {
conn.removeConnection (); conn.removeConnection ();
lsnr.AddConnection (conn); if (!lsnr.AddConnection (conn)) {
conn.close ();
return;
}
conn._lastListener = lsnr; conn._lastListener = lsnr;
} }

@ -503,10 +503,19 @@ namespace WebSocketSharp.Net
#region Internal Methods #region Internal Methods
internal void AddConnection (HttpConnection connection) internal bool AddConnection (HttpConnection connection)
{ {
lock (_connectionsSync) if (!_listening)
return false;
lock (_connectionsSync) {
if (!_listening)
return false;
_connections[connection] = connection; _connections[connection] = connection;
}
return true;
} }
internal bool Authenticate (HttpListenerContext context) internal bool Authenticate (HttpListenerContext context)

Loading…
Cancel
Save