Функция posix_spawn_file_actions_init () используется для инициализации объекта, адресуемого параметром file_actions; после ее при м енения объект не будет содержать никаких действий, предназначенных для выполнения над файла м и при вызове функций posix_spawn () или posix_spawnp ().
Объект действий над файла м и порожденно г о процесса определяется в описании функции posix_spawn_file_actions_addclose(). Результат инициализации уже инициализированно г о объекта действий над файла м и не определен.
Возвращаемые значения
При успешно м завершении эти функции возвра щ ают нулевое значение; в противно м случае — код ошибки, обозначаю щ ий ее характер.
Ошибки
Функция posix_spawn_file_actions_init () завершится неудачно, если:
[EN0MEM] для и ниц и ализаци и объекта действий над файла м и недостаточно су щ ествую щ ей па м яти.
Функция posix_spawn_file_actions_destroy() м ожет завершиться неудачно, если:
[EINVAL]
значение, заданное пара м етро м file_actions, недопусти м о.
Примеры
Отсутствуют.
Замечания по использованию
Эти функции являются частью опции Spawn и м огут быть не представлены во всех реализациях.
Логическое обоснование
С м отрите раздел «Логическое обоснование» в описании функции posix_spawn_file_actions_addclose().
Будущие направления
Отсутствуют.
Смотри также
posix_spawn (), posix_spawnp (), том Base Definitions стандарта IEEE Std 1003.1-2001, .
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 6, основание м послужил стандарт IEEE Std 1003.1d-1999.
В разделе «Синопсис» включение заголовка больше не требуется.
posix_spawnattr_destroy, posix_spawnattr_init
Имя
posix_spawnattr_destroy, posix_spawnattr_init— функции разрушения и инициализации объекта атрибутов порожденно г о процесса (ADVANCED REALTIME).
Синопсис
SPN #include
int posix_spawnattr_destroy (posix_spawnattr_t *attr); int posix_spawnattr_init (posix_spawnattr_t *attr);
Описание
Функция posix_spawnattr_destroy() предназначена для разрушения объекта атрибутов порожденного процесса. Разрушенный объект атрибутов, адресуемый параметром attr, можно снова инициализировать с помощью функции posix_spawnattr_init (); результаты ссылки на этот объект после его разрушения не определены. В конкретной реализации функция posix_spawnattr_destroy() может устанавливать объект, адресуемый параметром attr, равным некоторому недействительному значению.
Функция posix_spawnattr_init() служит для инициализации объекта атрибутов порожденного процесса, адресуемого параметром attr, значениями, действующими по умолчанию для всех отдельных атрибутов, используемых конкретной реализацией. Результат вызова функции posix_spawnattr_init () не определен, если заданный параметром attr объект атрибутов уже инициализирован.
Объект атрибутов порожденного процесса имеет тип posix_spawnattr_t (определен в заголовке ) и используется для задания наследования атрибутов процесса при выполнении операции порождения процесса. Для типа posix_spawnattr_t операторы сравнения и присваивания стандарт IEEE Std 1003.1-2001 не определяет.
Для каждой реализации должны быть описаны отдельные атрибуты, которые она использует, и их стандартные значения, если они не определены стандартом IEEE Std ЮОЗ.1-2001. Атрибуты, не определенные стандартом IEEE Std 1003.1-2001, их стандартные значения и имена соответствующих функций чтения и записи этих атрибутов определяются конкретной реализацией.
Результирующий объект атрибутов порожденного процесса (возможно, модифицированный путем установки значений отдельных атрибутов) используется для модификации поведения функций posix_spawn () или posix_spawnp (). После того как объект атрибутов был использован для порождения процесса путем вызова функции posix_spawn () или posix_spawnp(), любая функция, способная изменить объект атрибутов (включая функцию разрушения), не может повлиять на процесс, соз д анный таки м способо м.
Возвращаемые значения
При успешно м завершении функции posix_spawnattr_destroy() и posix_spawnattr_init() возвра щ ают нулевое значение; в противно м случае — ко д ошибки, обозначаю щ ий ее характер.
Ошибки
Функция posix_spawnattr_init () завершится неудачно, если:
[ ENOMEM ]для инициализации объекта атрибутов недостаточно существующей памяти.
Функция posix_spawnattr_destroy () м ожет завершиться неудачно, если:
[EINVAL] з н ачение, заданное пара м етро м attr, недопусти м о.
Читать дальше