By the way, and slightly unrelated, can vrc somehow help with finding
places that call coroutine wrappers without holding the AioContext lock?
(This results in an abort() when AIO_WAIT_WHILE() tries to unlock the
AioContext.) This is one of the classes of bugs we're seeing in 8.0.
Seems more like a task for TSA.
Even though C TSA doesn't let you check that the *right* AioContext lock is taken, it can check statically that *one* such lock is taken, and in general I would guess it's rare for the wrong AioContext to be locked.
Paolo