posix_typed_mem_get_info()

Получение информации (количество доступной памяти) об объекте в типизированной памяти

Прототип:

#include <sys/mman.h>
int posix_typed_mem_get_info( int fildes,
struct posix_typed_mem_info *info );

Аргументы:

fildes
Дескриптор файла для типизированного объекта памяти, информацию для которого вы хотите запросить, возвращается вызовом posix_typed_mem_open().
info
Указатель на структуру posix_typed_mem_info, где функция может хранить информацию.

Библиотека:

libc

Описание:

Функция posix_typed_mem_get_info() запрашивает информацию о типизированном объекте памяти для определения объема доступной в данный момент памяти. Это особенно важно для типизированных объектов памяти, которые в некоторых случаях могут быть дефицитными ресурсами.

Функция posix_typed_mem_get_info() сохраняет в поле posix_tmi_length структуры posix_typed_mem_info, на которую указывает info, максимальную длину, которая может быть успешно выделена в типизированном объекте памяти fildes.


Note: Если типизированный пул памяти является общим ресурсом, может потребоваться защита мьютексом или синхронизация при запросе и выделении, чтобы предотвратить непредвиденное поведение.

Максимальная длина является динамической; она действительна, только пока текущее выделение соответствующего типизированного пула памяти остается неизменным. Она учитывает флаг POSIX_TYPED_MEM_ALLOCATE или POSIX_TYPED_MEM_ALLOCATE_CONTIG, указанный при открытии типизированного объекта памяти через posix_typed_mem_open().

В качестве расширения ЗОСРВ «Нейтрино», если fildes представляет типизированный объект памяти не открытый с помощью POSIX_TYPED_MEM_ALLOCATE или POSIX_TYPED_MEM_ALLOCATE_CONTIG, функция устанавливает info->posix_tmi_length в 0.

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

0
Успешное завершение.
EBADF
Аргумент fildes не является допустимым дескриптором открытого файла.
ENODEV
fildes не подключен к объекту памяти, поддерживаемому этой функцией.

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

POSIX 1003.1 Typed Memory Objects

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

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

posix_mem_offset(), posix_typed_mem_open()




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