DAT_CNO_FREE(3DAT) Direct Access Transport Library Functions

NAME


dat_cno_free - destroy an instance of the CNO

SYNOPSIS


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

DAT_RETURN
dat_cno_free (
IN DAT_CNO_HANDLE cno_handle
)


PARAMETERS


cno_handle
Handle for an instance of the CNO


DESCRIPTION


The dat_cno_free() function destroys a specified instance of the CNO.


A CNO cannot be deleted while it is referenced by an Event Dispatcher
or while a thread is blocked on it.

RETURN VALUES


DAT_SUCCESS
The operation was successful.


DAT_INVALID_HANDLE
The cno_handle() parameter is invalid.


DAT_INVALID_STATE
Parameter in an invalid state. CNO is in use by
an EVD instance or there is a thread blocked on
it.


USAGE


If there is a thread blocked in dat_cno_wait(3DAT), the Consumer can
do the following steps to unblock the waiter:

o Create a temporary EVD that accepts software events. It
can be created in advance.

o For a CNO with the waiter, attach that EVD to the CNO and
post the software event on the EVD.

o This unblocks the CNO.

o Repeat for other CNOs that have blocked waiters.

o Destroy the temporary EVD after all CNOs are destroyed and
the EVD is no longer needed.

ATTRIBUTES


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


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

SEE ALSO


dat_cno_wait(3DAT), libdat(3LIB), attributes(7)

July 16, 2004 DAT_CNO_FREE(3DAT)

tribblix@gmail.com :: GitHub :: Privacy