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

System Functions (n - p) pthread_cond_signal(2)
NAME
pthread_cond_signal - Unblocks at least one thread that is waiting on the specified condition
variable
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_cond_signal(
pthread_cond_t *cond);
PARAMETERS
cond Specifies the condition variable to be signaled.
DESCRIPTION
This function unblocks at least one thread waiting on the condition variable specified by cond.
Calling this function implies that data guarded by the associated mutex has changed, so one of
the waiting threads might be able to proceed. In general, only one thread is unblocked.
If no threads are waiting on the specified condition variable, this function takes no action. The
signal does not propagate to the next condition variable wait.
The scheduling policy determines which thread is unblocked. A blocked thread is chosen in
priority order, using a first-in/first-out (FIFO) algorithm within priorities.
This function can be called by a thread regardless of whether it owns the mutex associated with
the condition variable specified by the cond parameter. However, if predictable scheduling
behavior is required, the mutex must be locked before the pthread_cond_signal( ) function is
called.
Do not call this function from within an interrupt handler.
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.
527186-023 Hewlett-Packard Company 591