posix_spawnattr_addpartition()

Добавить раздел ресурсов в порожденный процесс

Прототип:

#include <spawn.h>
int posix_spawnattr_addpartition( posix_spawnattr_t *_Restrict attrp,
const char *partition_path,
part_dcmd_flags_t part_flags );

Аргументы:

attrp
Объект атрибутов файла функции spawn().
part_flags
Если параметр partition_path не относится к реальному разделу, то аргумент part_flags будет применяться ко всем разрешенным «реальным» разделам, на которые ссылается имя группы или псевдораздел. Это может привести к ошибке, если флаг не применяется к типу раздела (о чем сообщает макрос PART_TYPE(), определенный в <part.h>).
partition_path
Путь к разделу. На основании полного пути к разделу, необходимо определить тип пути (memory/sched/ и т. д.) и вернуть указатель на суффикс имени (т.е. часть имени после /partition/mem/ или /partition/sched), если возможно.

Библиотека:

libc

Описание:

Функция posix_spawnattr_addpartition() указывает ресурсный раздел, с которым должен быть связан порожденный процесс, данная функция является наиболее удобной формой добавления ассоциаций разделов,поскольку она принимает имя раздела, а не идентификатор.

Имена разделов могут быть именами групп, псевдоразделами или реальными разделами и всегда преобразуются в «реальный» раздел; в противном случае возвращается ошибка.

Ассоциация разделов вступает в силу, только если установлен соответствующий флаг POSIX_SPAWN_SETMPART или POSIX_SPAWN_SETSPART. Установка одного из этих флагов без предоставления раздела этого типа может привести к непредвиденным результатам.


Note: Эта функция является расширением posix_spawnattr_t ЗОСРВ «Нейтрино».

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

EINVAL
Недопустимый параметр.
ENOMEM
Идентификатор партиции не удалось добавить к объекту атрибутов.


Note: Если эта функция дает сбой, и значение предоставленное в partition_name является именем группы, то не указано, сколько псевдоразделов в пределах имени группы добавляется к объекту атрибутов, на который указывает attrp. Для этого сценария рекомендуется уничтожить объект атрибутов и инициализировать новый объект атрибутов.

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

EOK
Успешное завершение.


Note: О некоторых ошибках сопоставления разделов может не сообщаться до тех пор, пока не будет сделан вызов posix_spawn().

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

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

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

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

posix_spawn(), posix_spawn_file_actions_addclose(), posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addopen(), posix_spawn_file_actions_destroy(), posix_spawn_file_actions_init(), posix_spawnattr_addpartid(), posix_spawnattr_destroy(), posix_spawnattr_getcred(), posix_spawnattr_getflags(), posix_spawnattr_getnode(), posix_spawnattr_getpartid(), posix_spawnattr_getpgroup(), posix_spawnattr_getrunmask(), posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy(), posix_spawnattr_getsigdefault(), posix_spawnattr_getsigignore(), posix_spawnattr_getsigmask(), posix_spawnattr_getstackmax(), posix_spawnattr_getxflags(), posix_spawnattr_init(), posix_spawnattr_setcred(), posix_spawnattr_setflags(), posix_spawnattr_setnode(), posix_spawnattr_setpgroup(), posix_spawnattr_setschedparam(), posix_spawnattr_setrunmask(), posix_spawnattr_setschedpolicy(), posix_spawnattr_setsigdefault(), posix_spawnattr_setsigignore(), posix_spawnattr_setsigmask(), posix_spawnattr_setstackmax(), posix_spawnattr_setxflags(), posix_spawnp()




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