Set the recursive attribute in mutex attribute object
#include <pthread.h>
int pthread_mutexattr_setrecursive(
pthread_mutexattr_t* attr,
int recursive );
libc
The pthread_mutexattr_setrecursive() function sets the recursive attribute in a mutex attribute object, attr.
If the recursive attribute is set to PTHREAD_RECURSIVE_ENABLE, a thread that has already locked the mutex can lock it again without blocking. If the recursive attribute is set to PTHREAD_RECURSIVE_DISABLE, any thread that tries to lock the mutex will block, if that mutex is already locked.
The default value of the recursive attribute is PTHREAD_RECURSIVE_DISABLE.
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
pthread_mutexattr_getrecursive(), pthread_mutexattr_init()