Do not allow ObjectDisposed exceptions to trigger disconnectreason
This commit is contained in:
@@ -146,11 +146,11 @@ namespace Discord
|
|||||||
if (_webSocket.State != WebSocketState.Open || cancelToken.IsCancellationRequested)
|
if (_webSocket.State != WebSocketState.Open || cancelToken.IsCancellationRequested)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
result = await _webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), cancelToken);
|
result = await _webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), cancelToken);
|
||||||
}
|
}
|
||||||
catch (Win32Exception ex)
|
catch (Win32Exception ex)
|
||||||
when (ex.HResult == HR_TIMEOUT)
|
when (ex.HResult == HR_TIMEOUT)
|
||||||
{
|
{
|
||||||
string msg = $"Connection timed out.";
|
string msg = $"Connection timed out.";
|
||||||
@@ -182,6 +182,7 @@ namespace Discord
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (OperationCanceledException) { }
|
catch (OperationCanceledException) { }
|
||||||
|
catch (ObjectDisposedException) { }
|
||||||
catch (Exception ex) { DisconnectInternal(ex); }
|
catch (Exception ex) { DisconnectInternal(ex); }
|
||||||
}
|
}
|
||||||
private async Task SendAsync()
|
private async Task SendAsync()
|
||||||
@@ -210,6 +211,7 @@ namespace Discord
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (OperationCanceledException) { }
|
catch (OperationCanceledException) { }
|
||||||
|
catch (ObjectDisposedException) { }
|
||||||
catch (Exception ex) { DisconnectInternal(ex); }
|
catch (Exception ex) { DisconnectInternal(ex); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user