NAME
pthread_mutex_consistent
—
mark state protected by robust mutex as
consistent
LIBRARY
library “libpthread”
SYNOPSIS
#include
<pthread.h>
int
pthread_mutex_consistent
(pthread_mutex_t
*mutex);
DESCRIPTION
If 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 valueEOWNERDEAD
.
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.
RETURN VALUES
If successful, pthread_mutex_consistent
()
will return zero, otherwise an error number will be returned to indicate the
error.
ERRORS
The pthread_mutex_lock
() function will
fail if:
- [
EINVAL
] - The mutex pointed to by the mutex argument is not robust, or is not in the inconsistent state.
SEE ALSO
pthread_mutex_init(3), pthread_mutex_lock(3), pthread_mutex_unlock(3), pthread_mutexattr_setrobust(3)
STANDARDS
The pthread_mutex_lock
() function conforms
to Version 4 of the Single UNIX Specification
(“SUSv4”).