diff --git a/websocket-sharp.clone/WebSocketStreamReader.cs b/websocket-sharp.clone/WebSocketStreamReader.cs index 5613272f3..dbdb9d55c 100644 --- a/websocket-sharp.clone/WebSocketStreamReader.cs +++ b/websocket-sharp.clone/WebSocketStreamReader.cs @@ -43,12 +43,14 @@ public async Task Read(CancellationToken cancellationToken) if (_isClosed) { + _waitHandle.Release(); return null; } header = await ReadHeader(cancellationToken).ConfigureAwait(false); if (header == null) { + _waitHandle.Release(); return null; } @@ -59,6 +61,8 @@ public async Task Read(CancellationToken cancellationToken) { _isClosed = true; } + + _waitHandle.Release(); return msg; } @@ -152,4 +156,4 @@ private async Task ReadHeader(CancellationToken cancellati return frameHeader; } } -} \ No newline at end of file +}