iofunc_lock_calloc()
Allocate memory to lock structures
Synopsis:
#include <sys/iofunc.h> iofunc_lock_list_t *iofunc_lock_calloc ( resmgr_context_t *ctp, IOFUNC_OCB_T *ocb, size_t size );
Arguments:
- ctp
- A pointer to a resmgr_context_t structure that the resource-manager library uses to pass context information between functions.
- ocb
- A pointer to the the Open Control Block (typically a iofunc_ocb_t structure) that was created when the client opened the resource.
- size
- The amount of memory that you want to allocate.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The function iofunc_lock_calloc() is used by iofunc_lock() to allocate memory to lock structures.
Because the malloc() implementation uses signed, 32-bit integers
to represent the size internally,
you can't allocate more than 2 GB in a single allocation.
If the size is greater than 2 GB, iofunc_lock_calloc() indicates
an error of ENOMEM.
Returns:
A pointer to a zeroed buffer that the POSIX layer uses for locks, or NULL if no memory could be allocated (errno is set).
Errors:
- ENOMEM
- Not enough memory.
- EOK
- No error.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |