Return the memory allocated for an OCB
#include <sys/iofunc.h> int iofunc_close_ocb_default( resmgr_context_t* ctp, void* reserved, iofunc_ocb_t* ocb );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The iofunc_close_ocb_default() function detaches the OCB specified by ocb, and releases the memory associated with it.
You can place this function directly into the io_funcs table passed to resmgr_attach(), at the close_ocb position, or you can call iofunc_func_init() to initialize all of the functions to their default values.
This function assumes that ocb points to an iofunc_ocb_t. If you encapsulate iofunc_ocb_t in your own OCB, it must be the first field of your OCB; otherwise, you can't call this function. If you provide an ocb_free() function in the mount structure, it's called at this point. This means that at least the iofunc_ocb_t portion of your OCB is no longer valid after iofunc_close_ocb() returns. |
The iofunc_close_ocb_default() function calls iofunc_close_ocb() to do the actual work.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
iofunc_close_ocb(), iofunc_func_init(), iofunc_ocb_t, iofunc_time_update(), resmgr_attach(), resmgr_context_t, resmgr_io_funcs_t