posix_spawn_file_actions_destroy()

Уничтожить объект действий над файлами для порожденного процесса

Прототип:

#include <posix_spawn_file_actions.h>
int posix_spawn_file_actions_destroy( posix_spawn_file_actions_t *fact_p );

Аргументы:

fact_p
Объект действий файла порожденного процесса fact_p, который будет уничтожен функцией posix_spawn_file_actions_destroy().

Библиотека:

libc

Описание:

Функция posix_spawn_file_actions_destroy() уничтожает объект, на который ссылается fact_p; после чего объект становится неинициализированным. В зависимости от реализация может произойти повторная инициализация объекта действий уничтоженного файла порожденного процесса с помощью posix_spawn_file_actions_init(); результаты других ссылок на объект после его уничтожения не определены.

Функция posix_spawn_file_actions_init() инициализирует объект, на который ссылается fact_p, таким образом, что он не содержит файловых действий для выполнения posix_spawn() или posix_spawnp(). Объект действий файла порожденного процесса определен в posix_spawn_file_actions_addclose(). Результат инициализации уже инициализированного объекта действий файла порожденного процесса не определен.


Note: Функция posix_spawn_file_actions_destroy() делает posix_spawn_file_actions_t непригодным для использования. Перед повторным использованием объекта его необходимо инициализировать с помощью posix_spawn_file_actions_init(), что включает в себя вызов posix_spawn_file_actions_destroy() для уже уничтоженного объекта. В POSIX указано, что результаты не определены при использовании объекта posix_spawnattr_t после его уничтожения. Реализация ЗОСРВ «Нейтрино» заставит все операции get() и set(), а также posix_spawn() возвращать EINVAL при попытке сослаться на уничтоженный объект атрибутов.

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

EINVAL
Был задан недопустимый параметр, или значение, указанное в @ fact_p является недопустимым.
EOK
Успешное завершение.

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

POSIX 1003.1 RTS

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

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

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