diff --git a/src/Microsoft.VisualStudio.Threading/AsyncQueue`1.cs b/src/Microsoft.VisualStudio.Threading/AsyncQueue`1.cs index 6a7a1b5ed..324aa3268 100644 --- a/src/Microsoft.VisualStudio.Threading/AsyncQueue`1.cs +++ b/src/Microsoft.VisualStudio.Threading/AsyncQueue`1.cs @@ -82,7 +82,7 @@ public int Count } /// - /// Gets a value indicating whether the queue has completed. + /// Gets a value indicating whether the queue is both empty and had invoked. /// /// /// This is arguably redundant with .IsCompleted, but this property @@ -101,7 +101,7 @@ public bool IsCompleted } /// - /// Gets a task that transitions to a completed state when is called. + /// Gets a task that transitions to a completed state when is called and the queue is empty. /// public Task Completion { @@ -142,6 +142,11 @@ public Task Completion /// /// Signals that no further elements will be enqueued. /// + /// + /// This method will return immediately. + /// Elements enqueued before calling this method may still be dequeued. + /// will return true only after this method has been called and the queue is empty. + /// public void Complete() { lock (this.SyncRoot)