HP-UX Reference (11i v2 07/12) - 3 Library Functions N-Z (vol 7)

p
pthread_mutexattr_init(3T) pthread_mutexattr_init(3T)
(Pthread Library)
NAME
pthread_mutexattr_init(), pthread_mutexattr_destroy() - initialize or destroy a mutex attributes object
SYNOPSIS
#include <pthread.h>
int pthread_mutexattr_init(
pthread_mutexattr_t *attr
);
int pthread_mutexattr_destroy(
pthread_mutexattr_t *attr
);
PARAMETERS
attr Pointer to the mutex attributes object to be initialized or destroyed.
DESCRIPTION
pthread_mutexattr_init()
initializes the mutex attributes object attr with the default values for
all attributes. The attributes object describes a mutex in detail and is passed to the mutex initialization
function.
When a mutex attributes object is used to initialize a mutex, the values of the individual attributes deter-
mine the characteristics of the new mutex. Attributes objects act like additional parameters to object ini-
tialization. A single attributes object can be used in multiple calls to the function
pthread_mutex_init()
.
When a mutex is initialized with an attributes object, the attributes are, in effect, copied into the mutex.
Consequently, any change to the attributes object will not affect any previously initialized mutexes. Once
all mutexes needing a specific attributes object have been initialized, the attributes object is no longer
needed.
The mutex attributes and their default values are:
process-shared The default value is
PTHREAD_PROCESS_PRIVATE.
type The default value is PTHREAD_MUTEX_DEFAULT
.
If an initialized mutex attributes object is reinitialized, undefined behavior results.
pthread_mutexattr_destroy()
destroys the mutex attributes object attr. The destroyed mutex
attributes object ceases to exist and its resources are reclaimed. Using attr after it has been destroyed
results in undefined behavior. A destroyed mutex attributes object can be reinitialized using the
pthread_mutexattr_init()
function.
Mutexes that have been already initialized using this attributes object are not affected by the destruction of
the mutex attributes object.
RETURN VALUE
Upon successful completion,
pthread_mutexattr_init()
and
pthread_mutexattr_destroy() return zero. Otherwise, an error number is returned to indicate
the error (the
errno variable is not set).
ERRORS
For each of the following conditions, if the condition is detected, the pthread_mutexattr_init()
and pthread_mutexattr_destroy() functions return the corresponding error number:
[ENOMEM] There is insufficient memory available in which to initialize attr.
[EINVAL] The value specified by attr is invalid.
AUTHOR
pthread_mutexattr_init() and pthread_mutexattr_destroy()
were derived from the
IEEE POSIX P1003.1c standard.
SEE ALSO
pthread_create(3T), pthread_mutexattr_getpshared(3T), pthread_mutexattr_setpshared(3T),
pthread_mutexattr_gettype(3T), pthread_mutexattr_settype(3T), pthread_mutex_init(3T).
246 Hewlett-Packard Company − 1 − HP-UX 11i Version 2: December 2007 Update