public member function


void unlock();
Unlock timed mutex
Unlocks the recursive_timed_mutexreleasing one level of ownership over it (it behaves as in recursive_mutex).

If the calling thread had a single level of ownership over the recursive_timed_mutex, it is completely unlocked: If other threads are currently blocked attempting to lock this same recursive_timed_mutex, one of them acquires ownership over it and continues its execution.

All lock and unlock operations on the recursive_timed_mutex follow a single total order, with all visible effects synchronized between the lock operations and previous unlock operations on the same object.

If the recursive_timed_mutex is not currently locked by the calling thread, it causes undefined behavior.



Return value


Data races

The recursive_timed_mutex object is modified as an atomic operation (causes no data races).

Exception safety

If the recursive_timed_mutex is currently locked by the calling thread, this function never throws exceptions (no-throw guarantee).
Otherwise, it causes undefined behavior.

See also