the robustness of mutex is very important to my program since it can handle the case when a process died without releasing the mutex.
But according to the document, pthread_mutexattr_setrobust
only apply to pthread_mutex_t
, instead of pthread_rwlock_t
, is there any approach to set the robustness of pthread_rwlock_t
? Or its implementation is robust by default?
according to the document,
pthread_mutexattr_setrobust
only apply topthread_mutex_t
More precisely, pthread_mutexattr_setrobust()
sets a property of a pthread_mutexattr_t
object, and these are used (only) for configuring objects of type pthread_mutex_t
. This happens at initialization of the mutex via pthread_mutex_init()
.
The corresponding initialization function for read/write locks is pthread_rwlock_init()
, and its documentation shows that the corresponding attribute object type, accepted by that function, is pthread_rwlockattr_t
. Implementations may provide whatever properties they like as extensions, but the only one specified for this type by the current version of POSIX is pshared
. Thus no, there is no (portable) robustness option for pthreads read/write locks.