With the revival of deadlock analysis (#655), it becomes more and more important that we handle behavior specific to mutex types.
Via pthread_mutexattr_settype there are the following possibilities:
Additionally:
The different mutex types affect multiple features:
- Race detection
- Deadlock detection
- Base and Apron privatization
With the revival of deadlock analysis (#655), it becomes more and more important that we handle behavior specific to mutex types.
Via
pthread_mutexattr_settypethere are the following possibilities:PTHREAD_MUTEX_DEFAULT– misuse is undefined behaviorPTHREAD_MUTEX_NORMAL– relocking deadlocks, other misuse is undefined behaviorPTHREAD_MUTEX_ERRORCHECK– misuse returns errorsPTHREAD_MUTEX_RECURSIVE– relocking allowed, other misuse returns errorsAdditionally:
pthread_rwlock_rdlock,pthread_rwlock_wrlock). (Fix read-write lock access handling #661)The different mutex types affect multiple features: