Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
support.task_queue: clear done queue after cancellation.
Since .cancel() waits until all live tasks are done, it is likely that the done queue will contain some cancelled tasks. If the done queue is not cleared, then the next poll()/wait_one()/wait_all() call will cancel the caller, which usually silently terminates it. In any case, semantically .cancel() discards the results of all tasks in the queue even if they completed before they were cancelled. This bug was introduced in commit a7d041f. Fixes #202. Co-authored-by: Filipe Laíns <lains@archlinux.org>
- Loading branch information