fix: Solves AudioClient Lockup On Disconnect (#1203)

* Solves Audio Disconnect Lockup

* Execute Disconnected Event Before Logger & State
This commit is contained in:
ComputerMaster1st
2018-11-29 22:16:46 +00:00
committed by Christopher F
parent a3f5e0b3a7
commit 2c93363653

View File

@@ -106,12 +106,10 @@ namespace Discord
finally { _stateLock.Release(); } finally { _stateLock.Release(); }
}); });
} }
public virtual async Task StopAsync() public virtual Task StopAsync()
{ {
Cancel(); Cancel();
var task = _task; return Task.CompletedTask;
if (task != null)
await task.ConfigureAwait(false);
} }
private async Task ConnectAsync(CancellationTokenSource reconnectCancelToken) private async Task ConnectAsync(CancellationTokenSource reconnectCancelToken)
@@ -164,9 +162,9 @@ namespace Discord
await _onDisconnecting(ex).ConfigureAwait(false); await _onDisconnecting(ex).ConfigureAwait(false);
await _logger.InfoAsync("Disconnected").ConfigureAwait(false);
State = ConnectionState.Disconnected;
await _disconnectedEvent.InvokeAsync(ex, isReconnecting).ConfigureAwait(false); await _disconnectedEvent.InvokeAsync(ex, isReconnecting).ConfigureAwait(false);
State = ConnectionState.Disconnected;
await _logger.InfoAsync("Disconnected").ConfigureAwait(false);
} }
public async Task CompleteAsync() public async Task CompleteAsync()