pthread_mutexattr_getprotocol Subroutine



Purpose

Returns the value of the protocol attribute of a mutex attributes
object.

Library

Threads Library (libpthreads.a)

Syntax

#include 

int  pthread_mutexattr_getprotocol (attr, protocol)
const pthread_mutexattr_t *attr;
int *protocol;

Description

The pthread_mutexattr_getprotocol subroutine returns the value of
the protocol attribute of the mutex attributes object attr. This attribute
specifies the protocol used to prevent priority inversions for the
mutex created with this attributes object. It may have one of the
following values:

PTHREAD_PRIO_NONE	Denotes no protocol. This is the default value.

PTHREAD_PRIO_INHERIT	Denotes priority inheritance protocol. It is
only available if the _POSIX_THREAD_PRIO_INHERIT symbol is defined.
Otherwise, it is not supported.

PTHREAD_PRIO_PROTECT	Denotes priority protection protocol. It is only
available if the _POSIX_THREAD_PRIO_PROTECT symbol is defined. Otherwise,
it is not supported.

Note:	The pthread.h header file must be the first included file of
each source file using the threads library.

Parameters

attr	Specifies the mutex attributes object.

protocol	Points to where the protocol attribute value will be stored

Return Values

Upon successful completion, the value of the protocol attribute is
returned via the protocol parameter, and 0 is returned. Otherwise,
an error code is returned.

Error Codes

The pthread_mutexattr_getprotocol subroutine is unsuccessful if the
following is true:

EINVAL	The attr parameter is not valid.

ENOSYS	Both priority inheritance and priority protection POSIX options
are not implemented.

EPERM	The calling thread does not have sufficient privilege to perform
the operation.

Implementation Specifics

This subroutine is part of the Base Operating System (BOS) Runtime.

The implementation of this subroutine is dependent on the priority
inheritance or priority protection POSIX option. Both priority inheritance
and priority protection POSIX options are not implemented in the current
version of AIX.

Related Information

The pthread_mutexattr_setprotocol subroutine, pthread_mutexattr_init
subroutine.

Synchronization Scheduling.

Threads Library Options and Threads Library Quick Reference.