for connected embedded systems
![]() |
![]() |
![]() |
![]() |
iofunc_ocb_free()
Deallocate an iofunc Open Control Block's memory
Synopsis:
#include <sys/iofunc.h> void iofunc_ocb_free( iofunc_ocb_t * ocb );
Arguments:
- ocb
- A pointer to the iofunc_ocb_t structure for the Open Control Block that was created when the client opened the resource.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The iofunc_ocb_free() function returns the memory allocated to an iofunc OCB to the free store pool. This function is the complement of iofunc_ocb_calloc().
If you've overridden the definition of iofunc_ocb_calloc(), you should also override the definition of iofunc_ocb_free() to correctly handle the release of the memory. This is because the iofunc_ocb_calloc() functions uses an internal memory management function to allocate the memory, and the default iofunc_ocb_free() function also uses this internal function to deallocate memory. Therefore, you can't mix internal memory management functions (_scalloc() and _sfree()) with user-level memory management functions (calloc() and free()).
![]() |
You should fill in the attribute's mount structure (i.e. the attr->mount pointer)
instead of replacing this function.
If you specify iofunc_ocb_free() and iofunc_ocb_calloc() callouts in the attribute's mount structure, then you should use the callouts instead of calling the standard iofunc_ocb_free() and iofunc_ocb_calloc() functions. |
Examples:
See iofunc_ocb_calloc().
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
iofunc_close_ocb(), iofunc_ocb_calloc(), iofunc_ocb_t
Writing a Resource Manager chapter of the Programmer's Guide.
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
