[Modify] Add it
This commit is contained in:
parent
42c66ab65c
commit
963db4bdf0
@ -775,6 +775,61 @@ namespace WebSocketSharp.Server
|
|||||||
_receiveThread.Start ();
|
_receiveThread.Start ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void stop (ushort code, string reason)
|
||||||
|
{
|
||||||
|
if (_state == ServerState.Ready) {
|
||||||
|
_log.Info ("The server is not started.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_state == ServerState.ShuttingDown) {
|
||||||
|
_log.Info ("The server is shutting down.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_state == ServerState.Stop) {
|
||||||
|
_log.Info ("The server has already stopped.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
lock (_sync) {
|
||||||
|
if (_state == ServerState.ShuttingDown) {
|
||||||
|
_log.Info ("The server is shutting down.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_state == ServerState.Stop) {
|
||||||
|
_log.Info ("The server has already stopped.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_state = ServerState.ShuttingDown;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
var threw = false;
|
||||||
|
try {
|
||||||
|
_services.Stop (code, reason);
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
threw = true;
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
try {
|
||||||
|
stopReceiving (5000);
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
if (!threw)
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
_state = ServerState.Stop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void stopReceiving (int millisecondsTimeout)
|
private void stopReceiving (int millisecondsTimeout)
|
||||||
{
|
{
|
||||||
_listener.Close ();
|
_listener.Close ();
|
||||||
|
Loading…
Reference in New Issue
Block a user