Atomically releases @var{lock} (the monitor lock) and waits for
@var{cond} to be signaled by some other piece of code. After
@var{cond} is signaled, reacquires @var{lock} before returning.
Atomically releases @var{lock} (the monitor lock) and waits for
@var{cond} to be signaled by some other piece of code. After
@var{cond} is signaled, reacquires @var{lock} before returning.