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)