man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

dat_evd_set_unwaitable(3DAT)

Name

dat_evd_set_unwaitable - transition the Event Dispatcher into an unwaitable state

Synopsis

cc [ flag… ] file–ldat [ library… ] 
#include <dat/udat.h>

DAT_RETURN
    dat_evd_set_unwaitable(
    IN    DAT_EVD_HANDLE    evd_handle
    )

Parameters

evd_handle

Handle for an instance of Event Dispatcher.

Description

The dat_evd_set_unwaitable() transitions the Event Dispatcher into an unwaitable state. In this state, calls to dat_evd_wait(3DAT) return synchronously with a DAT_INVALID_STATE error, and threads already blocked in dat_evd_wait() are awakened and return with a DAT_INVALID_STATE error without any further action by the Consumer. The actual state of the Event Dispatcher is accessible through dat_evd_query(3DAT) and is DAT_EVD_UNWAITABLE after the return of this operation.

This call does not affect a CNO associated with this EVD at all. Events arriving on the EVD after it is set unwaitable still trigger the CNO (if appropriate), and can be retrieved with dat_evd_dequeue(3DAT). Because events can arrive normally on the EVD, the EVD might overflow; the Consumer is expected to protect against this possibility.

Return Values

DAT_SUCCESS

The operation was successful.

DAT_INVALID_HANDLE

The evd_handle parameter is invalid.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Safe
Standard
uDAPL, 1.1, 1.2

See also

dat_evd_clear_unwaitable(3DAT), dat_evd_dequeue(3DAT), dat_evd_query(3DAT), dat_evd_wait(3DAT), libdat(3LIB), attributes(5)