TaskMutex

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.

Constructors

this
this(Object o)
Undocumented in source.
this
this()
Undocumented in source.

Members

Functions

lock
void lock()
Undocumented in source. Be warned that the author may not have intended to support it.
lock
bool lock(Duration timeout)
Undocumented in source. Be warned that the author may not have intended to support it.
tryLock
bool tryLock()
Undocumented in source. Be warned that the author may not have intended to support it.
unlock
void unlock()
Undocumented in source. Be warned that the author may not have intended to support it.

Inherited Members

From Lockable

lock
void lock()
Undocumented in source.
unlock
void unlock()
Undocumented in source.
tryLock
bool tryLock()
Undocumented in source.

See Also

InterruptibleTaskMutex, RecursiveTaskMutex, core.sync.mutex.Mutex

Meta