mtx_timedlock
Defined in header <threads.h> | ||
---|---|---|
int mtx_timedlock( mtx_t *restrict mutex, const struct timespec *restrict time_point ); | (since C11) |
Blocks the current thread until the mutex pointed to by mutex
is locked or until the TIME_UTC
based time point pointed to by time_point
has been reached.
The behavior is undefined if the current thread has already locked the mutex and the mutex is not recursive.
The behavior is undefined if the mutex does not support timeout.
Prior calls to mtx_unlock
on the same mutex synchronize-with this operation (if this operation succeeds), and all lock/unlock operations on any given mutex form a single total order (similar to the modification order of an atomic).
Parameters
mutex | - | pointer to the mutex to lock |
time_point | - | pointer to the timeout time to wait until |
Return value
thrd_success
if successful, thrd_timedout
if the timeout time has been reached before the mutex is locked, thrd_error
if an error occurs.
References
- C11 standard (ISO/IEC 9899:2011):
- 7.26.4.4 The mtx_timedlock function (p: 381-382)
See also
(C11) | blocks until locks a mutex (function) |
(C11) | locks a mutex or returns without blocking if already locked (function) |
(C11) | unlocks a mutex (function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/thread/mtx_timedlock