Skip to content

Commit df5542c

Browse files
committed
avoid deadlock
1 parent ab0e826 commit df5542c

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

src/SocketIOClient/V2/SocketIO.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public async Task ConnectAsync(CancellationToken cancellationToken)
8383
// TODO: concurrent connect
8484
_connCompletionSource = new TaskCompletionSource<Exception>();
8585
_sessionCompletionSource = new TaskCompletionSource<bool>();
86+
cancellationToken.Register(() => _connCompletionSource.SetResult(new TaskCanceledException()));
8687
_ = ConnectCoreAsync(cancellationToken).ConfigureAwait(false);
8788
var task = Task.Run(async () => await _connCompletionSource.Task.ConfigureAwait(false), cancellationToken);
8889
var ex = await task.ConfigureAwait(false);

tests/SocketIOClient.UnitTests/V2/SocketIOTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ await _io
187187
}
188188

189189
[Fact]
190-
public async Task ConnectAsyncCancellationToken_CancelAfter200ms_ThrowConnectionException()
190+
public async Task ConnectAsyncCancellationToken_CancelAfter100ms_ThrowOperationCanceledException()
191191
{
192192
_io.Options.Reconnection = true;
193193
_random.Next(Arg.Any<int>()).Returns(10);

0 commit comments

Comments
 (0)