vs-threading
vs-threading copied to clipboard
Documentation for AsyncQueue.IsCompleted is incorrect; should indicate it depends on whether the queue is emptp
Bug description
The documentation for IsCompleted is "Gets a value indicating whether the queue has completed." which implies that it is determined by whether AsyncQueue.Complete() has been called.
The actual implementation seems to be:
public bool IsCompleted
{
get
{
lock (SyncRoot)
{
return completeSignaled && IsEmpty;
}
}
}
Which returns true if and only if the queue is completed and it is empty.
Changing the implementation at this point would be bad, but the documentation should be changed to something like: "Gets a value indicating whether the queue has completed and empty."