Standard C Library Functions pthread_mutex_consistent(3C)
NAME
pthread_mutex_consistent - mark state protected by robust
mutex as consistentSYNOPSIS
cc -mt [ flag... ] file... [ library... ]
#include
int pthread_mutex_consistent(pthread_mutex_t *mutex);
DESCRIPTION
The following applies only to mutexes that have been ini-
tialized with the PTHREAD_MUTEX_ROBUST attribute. See
pthread_mutexattr_getrobust(3C).
If mutex is a robust mutex in an inconsistent state, thepthread_mutex_consistent() function can be used to mark the
state protected by the mutex referenced by mutex as con-
sistent again. If the owner of a robust mutex terminates while holding the mutex, or if the process containing the owner of the mutex unmaps the memory containing the mutex or performs one of the exec(2) functions, 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() function is only responsible
for notifying the system that the state protected by the mutex has been recovered and that normal operations with themutex can be resumed. It is the responsibility of the appli-
cation to recover the state so it can be reused. If the application is not able to perform the recovery, it can notify the system that the situation is unrecoverable by acall to pthread_mutex_unlock(3C) without a prior call to
pthread_mutex_consistent(), in which case subsequent threads
that attempt to lock the mutex will fail to acquire the lock and be returned ENOTRECOVERABLE. If the thread which acquired the mutex lock with the return value EOWNERDEAD terminates before calling eitherpthread_mutex_consistent() or pthread_mutex_unlock(), the
next thread that acquires the mutex lock is notified about the state of the mutex by the return value EOWNERDEAD.SunOS 5.11 Last change: 5 Jun 2007 1
Standard C Library Functions pthread_mutex_consistent(3C)
RETURN VALUES
Upon successful completion, thepthread_mutexattr_consistent() function returns 0. Other-
wise, an error value is returned to indicate the error.ERRORS
The pthread_mutex_consistent() function will fail if:
EINVAL The current thread does not own the mutex or themutex is not a PTHREAD_MUTEX_ROBUST mutex having
an inconsistent state (EOWNERDEAD).ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
exec(2), pthread_mutex_lock(3C), pthread_mutex_unlock(3C),
pthread_mutexattr_getrobust(3C), attributes(5), mutex(5),
standards(5)SunOS 5.11 Last change: 5 Jun 2007 2