Рейтинговые книги
Читем онлайн Параллельное и распределенное программирование на С++ - Хьюз Камерон

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 144 145 146 147 148 149 150 151 152 ... 181

Синопсис

SPN #include <spawn.h>

int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *file___actions) ;

int posix_spawn_file_actions_init (posix_spawn_file_actions_t *file_actions);

Описание

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

Функция 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, <spawn.h>.

Последовательность внесения изменений

Функции впервые реализованы в выпуске Issue 6, основание м послужил стандарт IEEE Std 1003.1d-1999.

В разделе «Синопсис» включение заголовка <sys/types.h> больше не требуется.

posix_spawnattr_destroy, posix_spawnattr_init

Имя

posix_spawnattr_destroy, posix_spawnattr_init— функции разрушения и инициализации объекта атрибутов порожденно г о процесса (ADVANCED REALTIME).

Синопсис

SPN #include <spawn.h>

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 (определен в заголовке <spawn.h>) и используется для задания наследования атрибутов процесса при выполнении операции порождения процесса. Для типа 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, недопусти м о.

Примеры

Отсутствуют.

Замечания по использованию

Эти функции являются частью опции Spawn и м огут быть не представлены во всех реализациях.

Логическое обоснование

Исходный интерфейс, предложенный в стандарте IEEE Std 1003.1-2001, определял атрибуты, наследуемые при выполнении операции порождения процесса, в виде структуры. Чтобы иметь возможность выделить некоторые необязательные атрибуты в отдельные опции (например, атрибуты spawn-schedparamn spawn-schedpolicy относятся к опции Process Scheduling), а также с целью расширяемости и совместимости с более новыми POSIX-интерфейсами, для интерфейса атрибутов был изменен тип данных. Этот интерфейс в настоящее время состоит из типа posix_spawnattr_t, представляющего объект атрибутов порожденного процесса, и соответствующих функций, которые позволяют инициализировать или разрушить этот объект атрибутов, а также установить или получить значение каждого отдельного атрибута. Несмотря на то что новый объектно-ориентированный интерфейс более сложен, чем исходнал структура, его проще использовать, легче наращивать и реализовывать.

Будущие направления

Отсутствуют.

Смотри также

posix_spawn (), posix_spawnattr_getsigdefault (), posix_spawnattr_getflags (), posix_spawnattr_getpgroup (), posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy (), posix_spawnattr_getsigmask(),posix_spawnattr_setsigdefault(), posix_spawnattr_setflags(), posix_spawnattr_setpgroup(), posix_spawnattr_setsigmask(), posix_spawnattr_setschedpolicy(), posix_spawnattr_setschedparam (), posix_spawnp (), то м Base Definitions стан д арта IEEEStd 1003.1-2001, <spawn.h>.

Последовательность внесения изменений

Функции впервые реализованы в выпуске Issue 6, основанием послужил стандарт IEEE Std 1003.1d-1999.

При м еняется интерпретация IЕЕЕ PASC Interpretation 1003.1 #106, в которой отмечается, что результат инициализации уже инициализированного объекта атрибутов не определен.

1 ... 144 145 146 147 148 149 150 151 152 ... 181
На этой странице вы можете бесплатно читать книгу Параллельное и распределенное программирование на С++ - Хьюз Камерон бесплатно.
Похожие на Параллельное и распределенное программирование на С++ - Хьюз Камерон книги

Оставить комментарий