Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't attempt non-blocking await if holding locks
Locks are tied to a particular OS thread. Non-blocking await may move code between OS threads. Therefore, if a lock is being held, then we fall back on a real blocking await, so things work. At present, various bits of the Supply internals rely on locks; this thus fixes a lot of things that are broken, but also means that we can't yet get all the benefit we'd like from non-blocking await. Upcoming changes to various affected aspects of supplies will fix this issue.
- Loading branch information