Инициализировать объект действий над файлами для порожденного процесса
#include <posix_spawn_file_actions.h>int posix_spawn_file_actions_init( posix_spawn_file_actions_t *fact_p );
libc
Функция posix_spawn_file_actions_init() инициализирует объект, на который ссылается fact_p так, чтобы он не содержал файловых действий для выполнения posix_spawn() или posix_spawnp(). Объект действий файла порожденного процесса определен в posix_spawn_file_actions_addclose(). Результат инициализации уже инициализированного объекта действий файла создания не определен.
В POSIX указано, что результаты не определены при повторной инициализации уже инициализированного объекта posix_spawn_file_actions_t . Реализация ЗОСРВ «Нейтрино» определяет данное поведение как идентичное случаю, когда предыдущий объект уничтожается, а затем повторно инициализируется, что означает, что безопасно повторно инициализировать уже инициализированный объект posix_spawn_file_actions_t ; однако он не поддерживает повторную инициализацию объекта posix_spawn_file_actions_t без промежуточного уничтожения объекта. Повторные вызовы posix_spawn_file_actions_init() с одним и тем же объектом posix_spawn_file_actions_t могут привести к утечке памяти. |
Функция posix_spawn_file_actions_destroy() сделает posix_spawn_file_actions_t
непригодным для использования. Прежде чем объект можно будет использовать повторно, его необходимо инициализировать с помощью posix_spawn_file_actions_init(), что включает в себя вызов posix_spawn_file_actions_destroy() для уже уничтоженного объекта.
ЗОСРВ «Нейтрино»
posix_spawn(), posix_spawn_file_actions_addclose(), posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addopen(), posix_spawn_file_actions_destroy(), 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 системной библиотеки