| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 3: Basic Library Functions Oracle Solaris 11 Information Library |
enable_extended_FILE_stdio(3C)
posix_spawnattr_getschedparam(3C)
posix_spawnattr_getschedpolicy(3C)
posix_spawnattr_getsigdefault(3C)
posix_spawnattr_getsigignore_np(3C)
posix_spawnattr_getsigmask(3C)
posix_spawnattr_setschedparam(3C)
posix_spawnattr_setschedpolicy(3C)
posix_spawnattr_setsigdefault(3C)
posix_spawnattr_setsigignore_np(3C)
posix_spawnattr_setsigmask(3C)
posix_spawn_file_actions_addclose(3C)
posix_spawn_file_actions_addclosefrom_np(3C)
posix_spawn_file_actions_adddup2(3C)
posix_spawn_file_actions_addopen(3C)
posix_spawn_file_actions_destroy(3C)
posix_spawn_file_actions_init(3C)
pthread_attr_getdetachstate(3C)
pthread_attr_getinheritsched(3C)
pthread_attr_getschedparam(3C)
pthread_attr_getschedpolicy(3C)
pthread_attr_setdetachstate(3C)
pthread_attr_setinheritsched(3C)
pthread_attr_setschedparam(3C)
pthread_attr_setschedpolicy(3C)
pthread_barrierattr_destroy(3C)
pthread_barrierattr_getpshared(3C)
pthread_barrierattr_setpshared(3C)
pthread_condattr_getpshared(3C)
pthread_condattr_setpshared(3C)
pthread_cond_reltimedwait_np(3C)
pthread_key_create_once_np(3C)
pthread_mutexattr_getprioceiling(3C)
pthread_mutexattr_getprotocol(3C)
pthread_mutexattr_getpshared(3C)
pthread_mutexattr_getrobust(3C)
pthread_mutexattr_setprioceiling(3C)
pthread_mutexattr_setprotocol(3C)
pthread_mutexattr_setpshared(3C)
pthread_mutexattr_setrobust(3C)
pthread_mutex_getprioceiling(3C)
pthread_mutex_reltimedlock_np(3C)
pthread_mutex_setprioceiling(3C)
pthread_rwlockattr_destroy(3C)
pthread_rwlockattr_getpshared(3C)
pthread_rwlockattr_setpshared(3C)
pthread_rwlock_reltimedrdlock_np(3C)
pthread_rwlock_reltimedwrlock_np(3C)
pthread_rwlock_timedrdlock(3C)
pthread_rwlock_timedwrlock(3C)
rctlblk_get_enforced_value(3C)
- mark state protected by robust mutex as consistent
cc –mt [flag... ]file... [library... ]#include <pthread.h>intpthread_mutex_consistent(pthread_mutex_t *mutex);
The following applies only to mutexes that have been initialized with thePTHREAD_MUTEX_ROBUST attribute. Seepthread_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 mutexreferenced by mutex as consistent again.
If the owner of a robust mutex terminates while holding the mutex,or if the process containing the owner of the mutex unmaps thememory containing the mutex or performs one of theexec(2) functions, themutex becomes inconsistent and the next thread that acquires the mutex lockis notified of the state by the return valueEOWNERDEAD. In thiscase, the mutex does not become normally usable again until the stateis marked consistent.
Thepthread_mutex_consistent() function is only responsible for notifying the system that thestate protected by the mutex has been recovered and that normal operationswith the mutex can be resumed. It is the responsibility of theapplication to recover the state so it can be reused. If the applicationis not able to perform the recovery, it can notify the systemthat the situation is unrecoverable by a call topthread_mutex_unlock(3C) without a priorcall topthread_mutex_consistent(), in which case subsequent threads that attempt to lockthe mutex will fail to acquire the lock and be returnedENOTRECOVERABLE.
If the thread which acquired the mutex lock with the return valueEOWNERDEAD terminates before calling eitherpthread_mutex_consistent() orpthread_mutex_unlock(), the next thread thatacquires the mutex lock is notified about the state of the mutex bythe return valueEOWNERDEAD.
Upon successful completion, thepthread_mutexattr_consistent() function returns0. Otherwise, an error valueis returned to indicate the error.
Thepthread_mutex_consistent() function will fail if:
The current thread does not own the mutex or the mutex is not aPTHREAD_MUTEX_ROBUST mutex having an inconsistent state (EOWNERDEAD).
Seeattributes(5) for descriptions of the following attributes:
|
exec(2),pthread_mutex_lock(3C),pthread_mutex_unlock(3C),pthread_mutexattr_getrobust(3C),attributes(5),mutex(5),standards(5)
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |