Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.

core.sync.condition

The condition module provides a primitive for synchronized condition
checking.

This class represents a condition variable as conceived by C.A.R. Hoare. As
per Mesa type monitors however, "signal" has been replaced with "notify" to
indicate that control is not transferred to the waiter when a notification
is sent.

nothrow @safe this(Mutex m);

Initializes a condition object which is associated with the supplied
mutex object.

Parameters:

Mutex m

The mutex with which this condition will be associated.

Throws:

SyncError on error.

@property Mutex mutex();

Gets the mutex associated with this condition.

Returns:

The mutex associated with this condition.

void wait();

Wait until notified.

Throws:

SyncError on error.

bool wait(Duration val);

Suspends the calling thread until a notification occurs or until the
supplied time period has elapsed.