man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

dat_evd_free(3DAT)

Name

dat_evd_free - destroy an instance of the Event Dispatcher

Synopsis

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

DAT_RETURN
    dat_evd_free (
    IN    DAT_EVD_HANDLE    evd_handle
    )

Parameters

evd_handle

Handle for an instance of the Event Dispatcher.

Description

The dat_evd_free() function destroys a specified instance of the Event Dispatcher.

All events on the queue of the specified Event Dispatcher are lost. The destruction of the Event Dispatcher instance does not have any effect on any DAT Objects that originated an Event Stream that had fed events to the Event Dispatcher instance. There should be no event streams feeding the Event Dispatcher and no threads blocked on the Event Dispatcher when the EVD is being closed as at the time when it was created.

Use of the handle of the destroyed Event Dispatcher in any consequent operation fails.

Return Values

DAT_SUCCESS

The operation was successful.

DAT_INVALID_HANDLE

The evd_handle parameter is invalid

DAT_INVALID_STATE

Invalid parameter. There are Event Streams associated with the Event Dispatcher feeding it.

Usage

Consumers are advised to destroy all Objects that originate Event Streams that feed an instance of the Event Dispatcher before destroying it. An exception to this rule is Event Dispatchers of an IA.

Freeing an IA automatically destroys all Objects associated with it directly and indirectly, including Event Dispatchers.

Attributes

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

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

See Also

libdat(3LIB), attributes(5)