tis_cond_init(3) — Subroutines
NAME
tis_cond_init − Initializes a condition variable.
LIBRARY
Standard C Library (libc.so, libc.a)
SYNOPSIS
#include <tis.h>
int tis_cond_init(
pthread_cond_t ∗cond);
STANDARDS
None
PARAMETERS
condAddress of the condition variable (passed by reference) to be initialized.
DESCRIPTION
This routine initializes a condition variable (cond) with the DECthreads default condition variable attributes.
A condition variable is a synchronization object used in conjunction with a mutex. A mutex controls access to shared data. When threads are present, a condition variable allows threads to wait for data to enter a defined state.
For more information about actions taken when threads are present, refer to the pthread_cond_init(3) description.
Your program can use the macro PTHREAD_COND_INITIALIZER to initialize statically allocated condition variables to the DECthreads default condition variable attributes. Use this macro as follows:
pthread_cond_t condition = PTHREAD_COND_INITIALIZER
When statically initialized, a condition variable should not also be initialized using tis_cond_init(3). Also, a statically initialized condition variable need not be destroyed using tis_cond_destroy(3).
RETURN VALUES
If an error condition occurs, the following occurs:
•The routine returns an integer value indicating the type of error.
•The condition variable is not initialized.
•The contents of condition variable cond are undefined.
The possible return values are as follows:
0Successful completion.
[EAGAIN]The system lacks the necessary resources to initialize another condition variable, or
The system-imposed limit on the total number of condition variables under execution by a single user is exceeded.
[EBUSY]The implementation has detected an attempt to reinitialize the object referenced by cond, a previously initialized, but not yet destroyed condition variable.
[EINVAL]The value specified by attr is invalid.
[ENOMEM]Insufficient memory exists to initialize the condition variable.
ERRORS
None
RELATED INFORMATION
Functions: tis_cond_broadcast(3), tis_cond_destroy(3), tis_cond_signal(3), tis_cond_wait(3)
Manuals: Guide to DECthreads and Programmer’s Guide