posix_spawnattr_setflags()

Установить атрибут spawn-flags из объекта атрибутов порожденного процесса

Прототип:

#include <posix_spawnattr.h>
int posix_spawnattr_setflags( posix_spawnattr_t *attrp,
short flags );

Аргументы:

attrp
Объект атрибутов порождения attrp, используемый реализацией. Объект атрибутов имеет тип posix_spawnattr_t (определен в <spawn.h>) и определяет наследование атрибутов процесса при операции порождения. В IEEE Std 1003.1-2001 не определены операторы сравнения или присваивания для типа posix_spawnattr_t.
flags
Короткая функция, используемая для получения параметров флагов.

Библиотека:

libc

Описание:

Функция posix_spawnattr_setflags() устанавливает значение атрибута flags для функции spawn() в объекте инициализированных атрибутов, на который ссылается attrp.


Note: POSIX имеет функции posix_spawnattr_setflags() и posix_spawnattr_getflags() для установки предопределенных флагов с использованием параметра flags_p, который определен как короткий тип. ЗОСРВ «Нейтрино» предоставляет несколько расширенных настроек атрибутов для расширения диапазона возможных значений флагов с использованием типа uint32_t для расширенных флагов.

С помощью атрибута flags можно указать, какие атрибуты процесса следует изменить в образе нового процесса при вызове posix_spawn() или posix_spawnp(). Это делается с помощью операции побитового ИЛИ со значением ноль или более и следующих флагов, которые указывают, какие атрибуты процесса должны быть изменены:

POSIX_SPAWN_RESETIDS
Сбросить идентификаторы (0000)
POSIX_SPAWN_SETPGROUP
Установить группу процессов (00000001)
POSIX_SPAWN_SETSIGDEF
Установить значения сигналов семейства sigdefault на SIG_DFL (00000004)
POSIX_SPAWN_SETSIGMASK
Установить маску для маски сигналов (00000002)
POSIX_SPAWN_SETSCHEDPARAM
Установить параметры дисциплины планирования (00000400)
POSIX_SPAWN_SETSCHEDULER
Установить дисциплину планирования (00000040)

Эти флаги определены в <spawn.h>. Значение по умолчанию этого атрибута будет таким, как если бы флаги не были установлены.

Эти функции являются частью опций функции spawn(), и не предоставляются во всех реализациях.

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

EINVAL
Было задано недопустимое значение параметра.
ENOMEM
Идентификатор партиции не удалось добавить к объекту атрибутов.
EOK
Успешное завершение.

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

POSIX 1003.1 Realtime Signals Extension

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

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

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_addpartition(), 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_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 системной библиотеки