As far as I know waiting on core.sync.Mutex totally blocks a fiber and its worker thread. This is not good, because blocking the worker thread starves or even fully blocks (in single threaded application) other fibers.
Which version of mutex I should using for vibe.core.sync.TaskCondition? I need synchronization only between fibers. But different fibers can be executed by different threads, isn't it? Is it safe to use vibe.core.sync.TaskMutex in this case?