diff --git a/src/Lavalink4NET.Tests/LavalinkNodeTests.cs b/src/Lavalink4NET.Tests/LavalinkNodeTests.cs index 4ebed0d0..97ce9b39 100644 --- a/src/Lavalink4NET.Tests/LavalinkNodeTests.cs +++ b/src/Lavalink4NET.Tests/LavalinkNodeTests.cs @@ -545,9 +545,8 @@ public void Complete() .WaitAsync(_shutdownCancellationTokenSource.Token) .ConfigureAwait(false); } - catch (Exception exception) + catch { - var k = exception; if (_flushSemaphoreSlim.CurrentCount is 0) { _flushSemaphoreSlim.Release(); diff --git a/src/Lavalink4NET/LavalinkNode.cs b/src/Lavalink4NET/LavalinkNode.cs index 8cdcb261..7af3c5a1 100644 --- a/src/Lavalink4NET/LavalinkNode.cs +++ b/src/Lavalink4NET/LavalinkNode.cs @@ -449,6 +449,13 @@ private async Task ReceiveInternalAsync(ClientInformation clientInformation, Can while (!_shutdownCancellationToken.IsCancellationRequested) { + if (_readyTaskCompletionSource.Task.IsCompleted) + { + // Initiate reconnect + _readyTaskCompletionSource = new TaskCompletionSource( + creationOptions: TaskCreationOptions.RunContinuationsAsynchronously); + } + var socketOptions = new LavalinkSocketOptions { Label = Label, @@ -472,10 +479,6 @@ private async Task ReceiveInternalAsync(ClientInformation clientInformation, Can _ = socket.RunAsync(socketCancellationSource.Token).AsTask(); await ReceiveInternalAsync(socket, cancellationToken).ConfigureAwait(false); - - // Initiate reconnect - _readyTaskCompletionSource = new TaskCompletionSource( - creationOptions: TaskCreationOptions.RunContinuationsAsynchronously); } }