DAT_EVD_FREE(3DAT) Direct Access Transport Library Functions DAT_EVD_FREE(3DAT)

dat_evd_free - destroy an instance of the Event Dispatcher

cc [ flag... ] file... -ldat [ library... ]
#include <dat/udat.h>
DAT_RETURN
    dat_evd_free (
    IN    DAT_EVD_HANDLE    evd_handle
    )

evd_handle
Handle for an instance of the Event Dispatcher.

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.

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.

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.

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

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

libdat(3LIB), attributes(7)

July 16, 2004 OmniOS