This mutex type can be used in exchange for a core.sync.mutex.Mutex, but
does not block the event loop when contention happens. Note that this
mutex does not allow recursive locking.
Notice:
Because this class is annotated nothrow, it cannot be interrupted
using vibe.core.task.Task.interrupt(). The corresponding
InterruptException will be deferred until the next blocking
operation yields the event loop.
Mutex implementation for fibers.
This mutex type can be used in exchange for a core.sync.mutex.Mutex, but does not block the event loop when contention happens. Note that this mutex does not allow recursive locking.
Notice: Because this class is annotated nothrow, it cannot be interrupted using vibe.core.task.Task.interrupt(). The corresponding InterruptException will be deferred until the next blocking operation yields the event loop.
Use InterruptibleTaskMutex as an alternative that can be interrupted.