Browse Source

fix: Solves AudioClient Lockup On Disconnect (#1203)

* Solves Audio Disconnect Lockup

* Execute Disconnected Event Before Logger & State
tags/2.0
ComputerMaster1st Christopher F 6 years ago
parent
commit
2c93363653
1 changed files with 4 additions and 6 deletions
  1. +4
    -6
      src/Discord.Net.WebSocket/ConnectionManager.cs

+ 4
- 6
src/Discord.Net.WebSocket/ConnectionManager.cs 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;
if (task != null)
await task.ConfigureAwait(false);
return Task.CompletedTask;
} }


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()


Loading…
Cancel
Save