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 from the notification list passed in nop. The client information is obtained from the ctp.
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 generally calls this function, with NULL as the ctp in the close_dup callout, to clean up all handles associated with this connection. If the handles are shared between several connections, then the ctp should be provided to clean up after each client.
Examples:
See
Sample code for handling _IO_NOTIFY messages
in Writing a Resource Manager.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |