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_getprotocol.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_getprotocol.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_getprotocol.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_getprotocol.html on line 8

pthread_mutexattr_getprotocol()

Get a mutex's scheduling protocol

Synopsis:

#include <pthread.h>

int pthread_mutexattr_getprotocol( 
            pthread_mutexattr * attr,
            int * protocol );

Arguments:

attr
A pointer to the pthread_mutexattr_t object that you want to get the attribute from.
protocol
A pointer to a location where the function can store the scheduling protocol.

Library:

libc

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

Description:

The pthread_mutexattr_getprotocol() function sets protocol to the current mutex attribute attr's scheduling protocol. The structure pointed to by attr must have been previously created with pthread_mutexattr_init().

The protocol attribute defines the protocol for using mutexes: Currently, protocol may be set to:

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.
PTHREAD_PRIO_PROTECT
The thread executes at the highest priority or priority ceilings of all the mutexes owned by the thread and initialized with PTHREAD_PRIO_PROTECT, whether other threads are blocked or not.

A thread holding a PTHREAD_PRIO_INHERIT mutex won't be moved to the tail of the scheduling queue if its original priority is changed (by a call to pthread_schedsetparam(), for example). This remains true if the thread unlocks the PTHREAD_PRIO_INHERIT mutex.


Note: The POSIX protocol of PTHREAD_PRIO_NONE isn't currently supported.

Returns:

EOK
Success.
EINVAL
Invalid mutex attribute attr.

Classification:

POSIX 1003.1 THR TPP|TPI

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

See also:

pthread_mutexattr_setprotocol(), pthread_mutexattr_setrecursive()

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_getprotocol.html on line 172

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_getprotocol.html on line 172