pthread_mutexattr_destroy or pthread_mutexattr_init Subroutine

Purpose

Initializes and destroys mutex attributes.

Library

Threads Library (libpthreads.a)

Syntax

#include <pthread.h>

int pthread_mutexattr_init (attr)
pthread_mutexattr_t *attr;

int pthread_mutexattr_destroy (attr)
pthread_mutexattr_t *attr;

Description

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.

Parameters

Item Description
attr Specifies the mutex attributes object to initialize or delete.

Return Values

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

Error Codes

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.