man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2014
 
 

pthread_mutexattr_init(3C)

Name

pthread_mutexattr_init, pthread_mutexattr_destroy - initialize or destroy mutex attributes object

Synopsis

cc –mt [ flag... ] file... [ library... ]
#include <pthread.h>

int pthread_mutexattr_init(pthread_mutexattr_t *attr);
int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);

Description

The pthread_mutexattr_init() function 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.

Return Values

Upon successful completion, pthread_mutexattr_init() and pthread_mutexattr_destroy() return 0. Otherwise, an error number is returned to indicate the error.

Errors

The pthread_mutexattr_init() function may fail if:

ENOMEM

Insufficient memory exists to initialize the mutex attributes object.

The pthread_mutexattr_destroy() function may fail if:

EINVAL

The value specified by attr is invalid.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe
Standard

See Also

pthread_cond_init(3C), pthread_create(3C), pthread_mutex_init(3C), pthread_mutexattr_settype(3C), attributes(5), standards(5)