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

pthread_mutex_lock(2) OSS System Calls Reference Manual
NAME
pthread_mutex_lock - Locks an unlocked 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_lock(
pthread_mutex_t *mutex);
PARAMETERS
mutex Specifies the mutex to be locked.
DESCRIPTION
This function locks a mutex. The result depends upon the type of mutex:
If mutex is a fast or nonrecursive mutex, an error is returned if the current owner of the
mutex calls this function in an attempt to lock the mutex a second time.
If mutex is a recursive mutex, the current owner of the mutex can relock the same mutex
without blocking. The lock count is incremented for each recursive lock within the
thread.
The thread that locks a mutex becomes its current owner and remains its owner until the same
thread unlocks it. This function returns with the mutex in the locked state and the current thread
as the mutex’s current owner.
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
H06.21/J06.10 or later RVUs.
5156 Hewlett-Packard Company 527186-023