[Previous] [Contents] [Index] [Next]

Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

pthread_mutex_init()

Initialize mutex

Synopsis:

#include <pthread.h>

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;

int pthread_mutex_init(
            pthread_mutex_t* mutex,
            const pthread_mutexattr_t* attr );

Arguments:

mutex
A pointer to the pthread_mutex_t object that you want to initialize.
attr
NULL, or a pointer to a pthread_mutexattr_t object that specifies the attributes that you want to use for the mutex. For more information, see pthread_mutexattr_init().

Library:

libc

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

Description:

The pthread_mutex_init() function initializes the given mutex object, using the attributes specified by the mutex attributes object attr. If attr is NULL then the mutex is initialized with the default attributes (see pthread_mutexattr_init()). After initialization, the mutex is in an unlocked state.

You can initialize a statically allocated mutex with the default attributes by assigning to it the macro PTHREAD_MUTEX_INITIALIZER or PTHREAD_RMUTEX_INITIALIZER (for recursive mutexes).

Returns:

EOK
Success.
EAGAIN
All kernel synchronization objects are in use.
EBUSY
The given mutex was previously initialized and hasn't been destroyed.
EFAULT
A fault occurred when the kernel tried to access mutex or attr.
EINVAL
The value specified by attr is invalid.

Classification:

POSIX 1003.1 THR

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

See also:

pthread_mutexattr_init(), pthread_mutex_destroy(), SyncTypeCreate()


[Previous] [Contents] [Index] [Next]