Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > P

pthread_mutexattr_init(3T)

Pthread Library
HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

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 determine the characteristics of the new mutex. Attributes objects act like additional parameters to object initialization. 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).

STANDARDS CONFORMANCE

pthread_mutexattr_init(): POSIX 1003.1c. pthread_mutexattr_destroy(): POSIX 1003.1c.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.