diff --git a/src/Workspaces/Remote/Core/BrokeredServiceConnection.cs b/src/Workspaces/Remote/Core/BrokeredServiceConnection.cs index 484d6f7276d21341317998e9f108a9567e954ad3..98ab8b399cc9db31ea6fc52b06b353eca25c06ae 100644 --- a/src/Workspaces/Remote/Core/BrokeredServiceConnection.cs +++ b/src/Workspaces/Remote/Core/BrokeredServiceConnection.cs @@ -138,8 +138,8 @@ public override async ValueTask> TryInvokeAsync(Solut var (clientStream, serverStream) = FullDuplexStream.CreatePair(); // Create new tasks that both start executing, rather than invoking the delegates directly. - // If the reader started synchronously reading before the writer task started it would hang, and vice versa - // if the writer synchronously filled the buffer before the reader task started it would also hang. + // If the reader started synchronously reading before the writer task started it would be blocking, and vice versa + // if the writer synchronously filled the buffer before the reader task started it would also be blocking. var writerTask = Task.Run(async () => await invocation(service, serverStream, cancellationToken).ConfigureAwait(false), cancellationToken); var readerTask = Task.Run(async () => await reader(clientStream, cancellationToken).ConfigureAwait(false), cancellationToken); await Task.WhenAll(writerTask, readerTask).ConfigureAwait(false);