< c‎ | thread
Defined in header <threads.h>
int mtx_unlock( mtx_t *mutex );
(since C11)

Unlocks the mutex pointed to by mutex.

The behavior is undefined if the mutex is not locked by the calling thread.

This function synchronizes-with subsequent mtx_lock, mtx_trylock, or mtx_timedlock on the same mutex. All lock/unlock operations on any given mutex form a single total order (similar to the modification order of an atomic).


mutex - pointer to the mutex to unlock

Return value

thrd_success if successful, thrd_error otherwise.


  • C11 standard (ISO/IEC 9899:2011):
  • The mtx_unlock function (p: 382)

See also

blocks until locks a mutex
blocks until locks a mutex or times out
locks a mutex or returns without blocking if already locked