If the process containing the thread owning a robust mutex terminates
while holding the mutex, the mutex becomes inconsistent and the next thread
that acquires the mutex lock is notified of the state by the return value
EOWNERDEAD.
In this case, the mutex does not become normally usable again until
the state is marked consistent.
The
pthread_mutex_consistent(),
when called with the
mutex
argument, which points to the initialized robust mutex in an
inconsistent state, marks the by mutex as consistent again.
The consequent unlock of the mutex, by either
pthread_mutex_unlock()
or other methods, allows other contenders to lock the mutex.
If the mutex in the inconsistent state is not marked consistent
by the call to
pthread_mutex_consistent()
before unlock,
further attempts to lock the
mutex
result in the
ENOTRECOVERABLE
condition reported by the locking functions.