|
|
@ -761,6 +761,7 @@ namespace WebSocketSharp |
|
|
|
|
|
|
|
var bytes = send ? WebSocketFrame.CreateCloseFrame (e.PayloadData, _client).ToArray () : null; |
|
|
|
e.WasClean = closeHandshake (bytes, receive, received); |
|
|
|
releaseResources (); |
|
|
|
|
|
|
|
_logger.Trace ("End closing the connection."); |
|
|
|
|
|
|
@ -786,13 +787,6 @@ namespace WebSocketSharp |
|
|
|
received = received || |
|
|
|
(receive && sent && _exitReceiving != null && _exitReceiving.WaitOne (_waitTime)); |
|
|
|
|
|
|
|
if (_client) |
|
|
|
releaseClientResources (); |
|
|
|
else |
|
|
|
releaseServerResources (); |
|
|
|
|
|
|
|
releaseCommonResources (); |
|
|
|
|
|
|
|
var ret = sent && received; |
|
|
|
_logger.Debug ( |
|
|
|
String.Format ("Was clean?: {0}\n sent: {1}\n received: {2}", ret, sent, received)); |
|
|
@ -1169,6 +1163,16 @@ namespace WebSocketSharp |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void releaseResources () |
|
|
|
{ |
|
|
|
if (_client) |
|
|
|
releaseClientResources (); |
|
|
|
else |
|
|
|
releaseServerResources (); |
|
|
|
|
|
|
|
releaseCommonResources (); |
|
|
|
} |
|
|
|
|
|
|
|
// As server
|
|
|
|
private void releaseServerResources () |
|
|
|
{ |
|
|
@ -1702,6 +1706,8 @@ namespace WebSocketSharp |
|
|
|
} |
|
|
|
|
|
|
|
e.WasClean = closeHandshake (frameAsBytes, receive, false); |
|
|
|
releaseServerResources (); |
|
|
|
releaseCommonResources (); |
|
|
|
|
|
|
|
_readyState = WebSocketState.Closed; |
|
|
|
try { |
|
|
|