Initializes and destroys mutex attributes.
Threads Library (libpthreads.a)
#include <pthread.h>
int pthread_mutexattr_init (attr)
pthread_mutexattr_t *attr;
int pthread_mutexattr_destroy (attr)
pthread_mutexattr_t *attr;
The function pthread_mutexattr_init initializes a mutex attributes object attr with the default value for all of the attributes defined by the implementation.
The effect of initializing an already initialized mutex attributes object is undefined.
After a mutex attributes object has been used to initialize one or more mutexes, any function affecting the attributes object (including destruction) does not affect any previously initialized mutexes.
The pthread_mutexattr_destroy function destroys a mutex attributes object; the object becomes, in effect, uninitialized. An implementation may cause pthread_mutexattr_destroy to set the object referenced by attr to an invalid value. A destroyed mutex attributes object can be re-initialized using pthread_mutexattr_init; the results of otherwise referencing the object after it has been destroyed are undefined.
Item | Description |
---|---|
attr | Specifies the mutex attributes object to initialize or delete. |
Upon successful completion, pthread_mutexattr_init and pthread_mutexattr_destroy return zero. Otherwise, an error number is returned to indicate the error.
The pthread_mutexattr_init function will fail if:
Item | Description |
---|---|
ENOMEM | Insufficient memory exists to initialize the mutex attributes object. |
The pthread_mutexattr_destroy function will fail if:
Item | Description |
---|---|
EINVAL | The value specified by attr is invalid. These functions will not return EINTR. |