iofunc_lock_calloc()

Выделить память для структур блокировок

Прототип:

#include <sys/iofunc.h>
iofunc_lock_list_t * iofunc_lock_calloc( resmgr_context_t *ctp,
IOFUNC_OCB_T *ocb,
size_t size );

Аргументы:

ctp
Указатель на структуру resmgr_context_t, которую библиотека менеджера ресурсов использует для передачи контекстной информации между функциями.
ocb
Указатель на структуру блока управления открытым контекстом (OCB, Open Control Block) iofunc_ocb_t, созданную при открытии ресурса клиентом.
size
Количество памяти, которое нужно выделить.

Библиотека:

libc

Описание:

Функция iofunc_lock_calloc() используется iofunc_lock(), чтобы выделить память для структур блокировок.


Note: Поскольку реализация malloc() использует знаковое 32-битное целое число для определения размера, невозможно выделить более 2 Гб за один раз. Если размер превышает 2 Гб, iofunc_lock_calloc() возвращает ошибку ENOMEM.

Возвращаемое значение:

Указатель на обнулённый буфер, используемый POSIX-слоем для блокировок.

При возникновении ошибки функция возвращает NULL, код ошибки записывается в errno.

Коды ошибок:

ENOMEM
Недостаточно памяти.
EOK
Успешное завершение.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

iofunc_lock(), iofunc_lock_free(), malloc(), resmgr_context_t




Предыдущий раздел: Описание API системной библиотеки