iofunc_notify_remove(), iofunc_notify_remove_strict()

Remove notification entries from a list

Synopsis:

#include <sys/iofunc.h>

void iofunc_notify_remove( resmgr_context_t * ctp,
                           iofunc_notify_t * nop );

void iofunc_notify_remove_strict( resmgr_context_t *ctp,
                                  iofunc_notify_t *nop,
                                  int lim );

Arguments:

ctp
NULL, or a pointer to a resmgr_context_t structure for the client whose entries you want to remove.
nop
An array of iofunc_notify_t structures that represent the notification lists whose entries you want to remove. The traditional lists are (in order) input, output, and out-of-band. For information about this structure, see the documentation for iofunc_notify().
lim
(iofunc_notify_remove_strict() only) The number of entries in the nop array. The iofunc_notify_remove() function assumes there are three entries.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The iofunc_notify_remove() function removes all of the entries associated with the current client's current file descriptor from the notification list passed in nop. The client information is obtained from the ctp structure's info.coid and info.scoid fields. A resource manager generally calls this function in the close_dup callout to clean up after each client.

The iofunc_notify_remove_strict() function is similar but lets you specify the number of entries in nop. This variant is useful for managers that support the extended conditions of poll().

If the ctp pointer is NULL, then all of the notify entries will be removed. A resource manager might use this when a device is being removed and all entries in the notification lists must be cleaned up.

Examples:

See Sample code for handling _IO_NOTIFY messages in Writing a Resource Manager.

Classification:

QNX Neutrino

Safety:
Cancellation pointNo
Interrupt handlerNo
Signal handlerYes
ThreadYes
Page updated: