Browse Source

Don't TrySetException with a null exception

pull/176/merge
RogueException 9 years ago
parent
commit
9fc92d016d
2 changed files with 19 additions and 19 deletions
  1. +10
    -9
      src/Discord.Net/Rpc/DiscordRpcClient.cs
  2. +9
    -10
      src/Discord.Net/WebSocket/DiscordSocketClient.cs

+ 10
- 9
src/Discord.Net/Rpc/DiscordRpcClient.cs View File

@@ -113,18 +113,19 @@ namespace Discord.Rpc
}
}
/// <inheritdoc />
public async Task DisconnectAsync()
/// <inheritdoc />
public Task DisconnectAsync() => DisconnectAsync(null, false);
private async Task DisconnectAsync(Exception ex = null, bool isReconnecting = false)
{
await _connectionLock.WaitAsync().ConfigureAwait(false);
try
if (ex == null)
{
await DisconnectInternalAsync(null, false).ConfigureAwait(false);
if (_connectTask?.TrySetCanceled() ?? false) return;
}
finally { _connectionLock.Release(); }
}
private async Task DisconnectAsync(Exception ex, bool isReconnecting)
{
if (_connectTask?.TrySetException(ex) ?? false) return;
else
{
if (_connectTask?.TrySetException(ex) ?? false) return;
}
await _connectionLock.WaitAsync().ConfigureAwait(false);
try
{


+ 9
- 10
src/Discord.Net/WebSocket/DiscordSocketClient.cs View File

@@ -181,19 +181,18 @@ namespace Discord.WebSocket
}
}
/// <inheritdoc />
public async Task DisconnectAsync()
public Task DisconnectAsync() => DisconnectAsync(null, false);
private async Task DisconnectAsync(Exception ex = null, bool isReconnecting = false)
{
if (_connectTask?.TrySetCanceled() ?? false) return;
await _connectionLock.WaitAsync().ConfigureAwait(false);
try
if (ex == null)
{
await DisconnectInternalAsync(null, false).ConfigureAwait(false);
if (_connectTask?.TrySetCanceled() ?? false) return;
}
finally { _connectionLock.Release(); }
}
private async Task DisconnectAsync(Exception ex, bool isReconnecting)
{
if (_connectTask?.TrySetException(ex) ?? false) return;
else
{
if (_connectTask?.TrySetException(ex) ?? false) return;
}
await _connectionLock.WaitAsync().ConfigureAwait(false);
try
{


Loading…
Cancel
Save