Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

pthread_mutex_init(2) OSS System Calls Reference Manual
NAME
pthread_mutex_init - Initializes a mutex
LIBRARY
G-series native OSS processes: /G/system/sysnn/zsptsrl
32-bit H-series and J-series OSS processes that use the POSIX User Thread Model library:
/G/system/zdllnnn/zputdll
64-bit H-series and J-series OSS processes that use the POSIX User Thread Model library:
/G/system/zdllnnn/yputdll
H-series and J-series OSS processes that use the Standard POSIX Threads library:
/G/system/zdllnnn/zsptdll
SYNOPSIS
#include <pthread.h> | #include <spthread.h>
/* pthread.h is required to use POSIX User Thread Model library */
/* spthread.h is required to use Standard POSIX Threads library */
int pthread_mutex_init(
pthread_mutex_t *mutex,
const pthread_mutexattr_t *attr);
PARAMETERS
mutex Specifies the mutex to be initialized.
attr Specifies the mutex attributes object that defines the characteristics of the mutex
to be initialized.
DESCRIPTION
This function initializes a mutex with the attributes of the mutex attributes object specified by the
attr parameter. A mutex is a synchronization object that allows multiple threads to serialize their
access to shared data.
A mutex is a resource of the process, not part of any particular thread. A mutex is neither des-
troyed nor unlocked automatically when any thread exits. If a mutex is allocated on a stack,
static initializers cannot be used on the mutex.
The mutex is initialized and set to the unlocked state. If attr is NULL, the default mutex attri-
butes are used.
On systems running H06.21 or later H-series RVUs or J06.10 or later J-series RVUs, you can use
either the POSIX User Thread Model library or the Standard POSIX Threads library for threaded
applications.
To use this function in a threaded application that uses the POSIX User Thread Model library on
systems running H06.21 or later RVUs or J06.10 or later RVUs, you must perform all of the fol-
lowing tasks:
Include the pthread.h header file in the application.
Compile the application using the _PUT_MODEL_ feature test macro or equivalent
compiler command option.
Link the application to the zputdll library (/G/system/zdllnnn/zputdll).
On systems running H06.24 or later H-series RVUs or J06.13 or later J-series RVUs, you can use
the POSIX User Thread Model library with 32-bit or 64-bit threaded applications.
To use this function in a 32-bit threaded application that uses the POSIX User Thread Model
library on systems running H06.24 or later RVUs or J06.13 or later RVUs, perform the same
tasks (described above) used to enable the POSIX User Thread Model library on systems running
5154 Hewlett-Packard Company 527186-023