RecursiveTaskMutex

Recursive mutex implementation for tasks.

This mutex type can be used in exchange for a core.sync.mutex.Mutex, but does not block the event loop when contention happens.

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 InterruptibleRecursiveTaskMutex as an alternative that can be interrupted.

final
class RecursiveTaskMutex : core.sync.mutex.Mutex, Lockable {}

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.
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

TaskMutex, core.sync.mutex.Mutex

Meta