Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_mutexattr_init.html on line 1

Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_mutexattr_init.html on line 1

Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_mutexattr_init.html on line 8

Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_mutexattr_init.html on line 8

pthread_mutexattr_init()

Initialize a mutex attribute object

Synopsis:

#include <pthread.h>

int pthread_mutexattr_init( pthread_mutexattr_t* attr );

Arguments:

attr
A pointer to the pthread_mutexattr_t object that you want to initialize.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pthread_mutexattr_init() function initializes the attributes in the mutex attribute object attr to their default values. After initializing a mutex attribute object, you can use it to initialize one or more mutexes by calling pthread_mutex_init().

The mutex attributes and their default values are:

__protocol
PTHREAD_PRIO_INHERIT—when a thread is blocking higher-priority threads by locking one or more mutexes with this attribute, the thread's priority is raised to that of the highest priority thread waiting on the PTHREAD_PRIO_INHERIT mutex.
__recursive
PTHREAD_RECURSIVE_DISABLE—threads can't recursively lock a mutex; any thread that tries to lock an already locked mutex becomes blocked.

After calling this function, you can use the pthread_mutexattr_* family of functions to make any changes to the attributes:

Get Set
pthread_mutexattr_getprioceiling() pthread_mutexattr_setprioceiling()
pthread_mutexattr_getprotocol() pthread_mutexattr_setprotocol()
pthread_mutexattr_getpshared() pthread_mutexattr_setpshared()
pthread_mutexattr_getrecursive() pthread_mutexattr_setrecursive()
pthread_mutexattr_gettype() pthread_mutexattr_settype()

Returns:

EOK
Success.
ENOMEM
Insufficient memory to initialize mutex attribute object attr.

Classification:

POSIX 1003.1 THR

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

pthread_mutex_init(), pthread_mutexattr_destroy(), pthread_mutexattr_getprioceiling(), pthread_mutexattr_getprotocol(), pthread_mutexattr_getpshared(), pthread_mutexattr_getrecursive(), pthread_mutexattr_gettype(), pthread_mutexattr_setprioceiling(), pthread_mutexattr_setprotocol(), pthread_mutexattr_setpshared(), pthread_mutexattr_setrecursive(), pthread_mutexattr_settype()

Mutexes: mutual exclusion locks in the QNX Neutrino Microkernel chapter of the System Architecture guide


Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_mutexattr_init.html on line 210

Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_mutexattr_init.html on line 210