- we were canceling tasks that hadn't been canceled, because the canceled flag was left set to true and the next task assigned to the context then became canceled as soon as it yielded - we were resumeing blocked tasks before they should have resumed, because their blocking_promises list wasn't cleared and they were unblocking because the erroneous promises were fulfilled As a debugging aid, we also record the cancellation reason whenever a task is canceled, and include that in the canceled_exception (this is only enabled in debug builds) |
||
|---|---|---|
| .. | ||
| future.hpp | ||
| mutex.hpp | ||
| non_preemptable_scope_check.hpp | ||
| priority.hpp | ||
| scoped_lock.hpp | ||
| spin_lock.hpp | ||
| spin_yield_lock.hpp | ||
| task.hpp | ||
| thread.hpp | ||
| thread_specific.hpp | ||
| unique_lock.hpp | ||
| wait_condition.hpp | ||