c/thread/mtx timedlock

Blocks the current thread until the mutex pointed to by is locked or until the  based absolute calendar time point pointed to by  has been reached.

Since this function takes an absolute time, if a duration is required, the calendar time point must be calculated manually.

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)

Return value
thrd_success if successful, if the timeout time has been reached before the mutex is locked, thrd_error if an error occurs.