intglobus_cond_broadcast(globus_cond_t*cond)
Signal a condition to multiple threads. The globus_cond_signal() function signals a condition as
occurring. This will unblock all threads waiting for that condition.
Parameterscond A pointer to the condition variable to signal.
Returns
Upon success, globus_cond_broadcast() returns GLOBUS_SUCCESS. If an error occurs,
globus_cond_broadcast() returns an implementation-specific non-zero error code.
intglobus_cond_destroy(globus_cond_t*cond)
Destroy a condition variable. The globus_cond_destroy() function destroys the condition variable pointed
to by its cond parameter. After a condition variable is destroyed it may no longer be used unless it is
again initialized by globus_cond_init().
Parameterscond The condition variable to destroy.
Returns
On success, globus_cond_destroy() returns GLOBUS_SUCCESS. Otherwise, a non-zero implementation-
specific error value is returned.
intglobus_cond_init(globus_cond_t*cond,globus_condattr_t*attr)
Initialize a condition variable
The globus_cond_init() function creates a condition variable that can be used for event signalling
between threads.
Parameterscond Pointer to the condition variable to initialize.
attr Condition variable attributes.
Returns
On success, globus_cond_init() initializes the condition variable and returns GLOBUS_SUCCESS.
Otherwise, a non-0 value is returned.
intglobus_cond_signal(globus_cond_t*cond)
Signal a condition to a thread. The globus_cond_signal() function signals a condition as occurring. This
will unblock at least one thread waiting for that condition.
Parameterscond A pointer to the condition variable to signal.
Returns
Upon success, globus_cond_signal() returns GLOBUS_SUCCESS. If an error occurs, globus_cond_signal()
returns an implementation-specific non-zero error code.
intglobus_cond_timedwait(globus_cond_t*cond,globus_mutex_t*mutex,globus_abstime_t*abstime)
Wait for a condition to be signalled. The globus_cond_timedwait() function atomically unlocks the mutex
pointed to by the mutex parameter and blocks the current thread until either the condition variable
pointed to by cond is signalled by another thread or the current time exceeds the value pointed to by the
abstime parameter. If the timeout occurs before the condition is signalled, globus_cond_timedwait()
returns ETIMEDOUT. Behavior is undefined if globus_cond_timedwait() is called with the mutex pointed to
by the mutex variable unlocked.
Parameterscond The condition variable to wait for.
mutex The mutex associated with the condition state.
abstime The absolute time to wait until.
Returns
On success, globus_cond_timedwait() unlocks the mutex and blocks the current thread until it has been
signalled, returning GLOBUS_SUCCES. If a timeout occurs before signal, globus_cond_timedwait()
unlocks the mutex and returns ETIMEDOUT. Otherwise, globus_cond_timedwait() returns an
implementation-specific non-zero error value.
intglobus_cond_wait(globus_cond_t*cond,globus_mutex_t*mutex)
Wait for a condition to be signalled. The globus_cond_wait() function atomically unlocks the mutex
pointed to by the mutex parameter and blocks the current thread until the condition variable pointed to
by cond is signalled by either globus_cond_signal() or globus_cond_broadcast(). Behavior is undefined if
globus_cond_wait() is called with the mutex pointed to by the mutex variable unlocked.
Parameterscond The condition variable to wait for.
mutex The mutex associated with the condition state.
Returns
On success, globus_cond_wait() unlocks the mutex and blocks the current thread until it has been
signalled, returning GLOBUS_SUCCES. Otherwise, globus_cond_wait() returns an implementation-specific
non-zero error value.
intglobus_condattr_destroy(globus_condattr_t*cond_attr)
Destroy a condition attribute. The globus_condattr_destroy() function destroys the condition variable
attribute structure pointed to by its cond_attr parameter.
Parameterscond_attr Attribute structure to destroy.
Returns
Upon success, globus_condattr_destroy() returns GLOBUS_SUCCESS and modifies the attribute pointed to
by cond_attr. If an error occurs, globus_condattr_destroy() returns an implementation-specific non-
zero error code.
intglobus_condattr_getspace(globus_condattr_t*cond_attr,int*space)
Get callback space associated with a condition variable attribute
The globus_condattr_getspace() function copies the value of the callback space associated with a
condition variable attribute to the integer pointed to by the space parameter.
Parameterscond_attr Condition variable attribute to modify.
space Pointer to an integer to be set to point to the callback space associated with cond_attr.
Returns
On success, globus_condattr_getspace() returns GLOBUS_SUCCESS and modifies the value pointed to by
space to refer to the callback space associated with cond_attr. If an error occurs,
globus_condattr_getspace() returns an implementation-specific non-zero error code.
intglobus_condattr_init(globus_condattr_t*cond_attr)
Initialize a condition variable attribute. The globus_condattr_init() function initializes the condition
variable attribute structure pointed to by its cond_attr parameter to the system default values.
Parameterscond_attr Attribute structure to initialize.
Returns
Upon success, globus_condattr_init() returns GLOBUS_SUCCESS and modifies the attribute pointed to by
cond_attr. If an error occurs, globus_condattr_init() returns an implementation-specific non-zero
error code.
intglobus_condattr_setspace(globus_condattr_t*cond_attr,intspace)
Set callback space associated with a condition variable attribute
The globus_condattr_setspace() function sets the callback space to use with condition variables created
with this attribute. Callback spaces are used to control how callbacks are issued to different threads.
See CallbackSpaces for more information on callback spaces.
Parameterscond_attr Condition variable attribute to modify.
space Callback space to associate with the attribute.
Returns
On success, globus_condattr_setspace() returns GLOBUS_SUCCESS and adds a reference to the callback
space to the condition variable attribute. If an error occurs, globus_condattr_setspace() returns an
implementation-specific non-zero error code.