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 |