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

pthread_unlock_global_np(2) OSS System Calls Reference Manual
NAME
pthread_unlock_global_np - Unlocks the threads global 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_unlock_global_np(void);
DESCRIPTION
This function unlocks the threads global mutex. Because the threads global mutex is recursive,
the unlock occurs when the number of calls to this function match the number of calls to the
pthread_lock_global_np() function. For example, if you called pthread_lock_global_np()
three times, then the third time you call pthread_unlock_global_np( ), it unlocks the threads glo-
bal mutex.
If no threads are waiting for the threads global mutex, it becomes unlocked with no current
owner. If one or more threads are waiting to lock the threads global mutex, this function causes
one thread to unblock and try to acquire the threads global mutex. The scheduling policy deter-
mines which thread is unblocked. For the policies SCHED_FIFO and SCHED_RR, a blocked
thread is chosen in priority order, using a first-in/first-out (FIFO) algorithm within priorities.
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.
To use this function in a 64-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, you must perform all
of the following tasks:
5184 Hewlett-Packard Company 527186-023