pthread_cond_init.3t (2010 09)

p
pthread_cond_init(3T) pthread_cond_init(3T)
(Pthread Library)
NAME
pthread_cond_init(), pthread_cond_destroy() - initialize or destroy a condition variable
SYNOPSIS
#include <pthread.h>
int pthread_cond_init(
pthread_cond_t *__restrict cond,
const pthread_condattr_t *__restrict attr
);
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
int pthread_cond_destroy(
pthread_cond_t *cond
);
PARAMETERS
cond Pointer to the condition variable to be initialized or destroyed.
attr Pointer to the attributes object that defines the characteristics of the condition variable to
be initialized. If the pointer is NULL, default attributes are used.
DESCRIPTION
The pthread_cond_init()
function initializes the condition variable cond with the attributes attr .
If attr is NULL, the default condition variable attributes are used to initialize the attributes object. See
pthread_condattr_init(3T) for a list of the default condition variable attributes. After successful initiali-
zation, the condition variable may be used in condition variable operations. A condition variable should
be initialized only once or the resulting behavior is undefined. The
pthread_once()
function provides
a way to ensure that a condition variable is only initialized once.
The macro
PTHREAD_COND_INITIALIZER
can be used to initialize condition variables that are stati-
cally allocated. These condition variables will be initialized with default attributes. The
pthread_cond_init()
function does not need to be called for statically initialized condition vari-
ables.
If the process-shared attribute in the condition variable attributes object referenced by attr is defined as
PTHREAD_PROCESS_SHARED
, the condition variable must be allocated such that the processes sharing
the condition variable have access to it. This may be done through the memory-mapping functions (see
mmap(2)) or the shared memory functions (see shmget (2)).
pthread_cond_destroy()
destroys the condition variable cond . This function may set cond to an
invalid value. The destroyed condition variable can be reinitialized using the function
pthread_cond_init()
. If the condition variable is used after destruction in any condition variable
call, the resulting behavior is undefined.
A condition variable should be destroyed only when there are no threads currently blocked on it. Des-
troying a condition variable that is currently in use results in undefined behavior.
RETURN VALUE
Upon successful completion,
pthread_cond_init() and pthread_cond_destroy()
return zero.
Otherwise, an error number is returned to indicate the error (the
errno variable is not set).
ERRORS
If any of the following occur, the
pthread_cond_init() function returns the corresponding error
number:
[EAGAIN] The system does not have the available resources (other than memory) to initialize
the condition variable.
[EBUSY] The specified condition variable is an already initialized condition variable. How-
ever, getting [EBUSY] for reinitializing the condition variable cannot be expected
all the time since the behavior of reinitializing the condition variable is undefined.
[EFAULT] The cond parameter points to an illegal address.
[EINVAL] The value specified by cond or attr is invalid.
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)