- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Параллельное и распределенное программирование на С++ - Хьюз Камерон
Шрифт:
Интервал:
Закладка:
Будущие направления
Отсутствуют.
Смотри также
alarm(), chmod(), close (), dup(), exec, exit (), fcntl (), fork(), kill (), open (),posix_spawn_file_actions_addclose(), posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addopen(), posix_spawn_file_actions_destroy() , <REFERENCE UNDEFINED> (posix_spawn_file_actions_init), posix_spawnattr_destroy(), posix_spawnattr_init(), 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_setschedparam (), posix_spawnattr_setschedpolicy (), posix_spawnattr_setsigmask (), sched__setparam (), sched_setscheduler (), setpgid (), setuid (), stat (), times (), wait () , то м Base Definitions стан д арта IEEEStd 1003.1-2001, <spawn.h>.
Последовательность внесения изменений
Функции впервые реализованы в выпуске Issue 6, основанием послужил стандарт IEEEStdl003.1d-1999.
Применяется интерпретация IEEE PASC Interpretation 1003.1 #103, которая указывает, что в пункте 2 действия, соответствующие установкам сигналов по умолчанию, изменены так же, как маска сигналов.
При м еняется интерпретация IEEE PASC Interpretation 1003.1 #132.
posix_spawn_file_actions_addclose, posix_spawn_file_actions_addopen
Имя
posix_spawn_file_actions_addclose, posix_spawn_file_actions_addopen— функции внесения в объект действий над файла м и действия «закрыть файл» (или «открыть файл») (ADVANCED REALTIME).
Синопсис
SPN #include <spawn.h>
int posix__spawn_file_actions_addclose (
posix_spawn_file_actions_t *file_actions, int fildes); int posix_spawn_file_actions_addopen (
posix_spawn_file_actions_t *restrict file_actions, int fildes,
const char *restrict path, int oflag, mode_t mode) ;
Описание
Эти функции добавляют в объект действий над файла м и действие «закрыть файл» (или «открыть файл») или удаляют соответствую щ ее действие из это г о объекта.
Объект действий над файла м и и м еет тип posix_spawn_file_actions_t (который определен в за г оловке <spawn.h>) и используется для задания последовательности действий, подлежа щ их выполнению функция м и posix_spawn() или posix_spawnp() с целью получения для сыновне г о процесса м ножества открытых файловых дескрипторов в соответствии с м ножество м открытых файловых дескрипторов родительско г о процесса. Стандарт IEEE Std 1003.1-2001 не определяет для типа posix_spawn_file_actions_t операторы сравнения или присваивания.
Объект действий над файлами, передаваемый функции posix_spawn() или posix_spawnp (), определяет, как множество открытых файловых дескрипторов вызывающего процесса должно быть трансформировано во множество потенциально открытых файловых дескрипторов для порождаемого процесса. Эта трансформация должна выглядеть так, как если бы однократно была выполнена заданнал последовательность действий в контексте порожденного процесса (до выполнения образа нового процесса), причем в порядке, в котором эти действия были добавлены в объект. Кроме того, при выполнении образа нового процесса любой файловый дескриптор (из этого нового множества), у которого установлен флаг FD_CLOEXEC, должен быть закрыт (см. описание функции posix_spawn ()).
Функция posix_spawn_file_actions_addclose() добавляет в объект, адресуемый параметром file_actions, действие по закрытию файлов close, в результате чего при порождении нового процесса с использованием объекта действий файловый дескриптор, заданный параметром fildes, будет закрыт (как если бы была вызвана функция close (fildes)).
Функция posix_spawn_file_actions_addopen () добавляет в объект, адресуемый параметром file_actions, действие по открытию файлов орел, в результате чего при порождении ново г о процесса с использование м объекта действий файл, и м я которо г о зада н о пара м етро м path, будет открыт (как если бы была вызва н а функция open (path, oflag, mode) , и возвра щ енно м у ею файлово м у дескриптору, если он не равен значению fildes, будет присвоено значение fildes). Если дескриптор fildes относится к уже открыто м)' файлу, этот файл будет закрыт перед открытие м нового файла.
Строка, адресуе м ая пара м етро м path, копируется функцией posix_spawn_file_actions_addopen().
Возвращаемые значения
При успешном завершении эти функции возвращают нулевое значение; в противном случае — код ошибки, обозначающий ее характер.
Ошибки
Эти функции завершатся неудачно, если:
[EBADF] значение, заданное пара м етро м fildes, отрицательно либо больше или равно значению {OPEN_MAX}.
Выполнение этих функций м ожет завершиться неудачно, если: [EINVAL] значение, заданное пара м етро м file_actions, недопусти м о;
[ENOMEM] для расширения содержи м ого объекта действий над файлами недостаточно су щ ествую щ ей па м яти.
Не считается ошибкой, если в качестве значения аргу м ента fildes, передавае м ого эти м функция м, указа н файловый дескриптор, дл я которого задан н ал операция не м ожет быть выполнена во вре м я вызова. Любая подобнал ошибка будет обнаружена, когда соответствую щ ий объект действий над фай л а м и позже будет испо л ьзован при выпо л нении функции posix_spawn () и л и posix_spawnp ().
Примеры
Отсутствуют.
Замечания по использованию
Эти функции яв л яются частью опции Spawn и м огут быть не представ л ены во всех реализациях.
Логическое обоснование
Объект действий над фай л а м и м ожно инициализировать с по м о щ ью упорядоченной пос л едовате л ьности операций close (), dup2 () и open (), предназначенной д л я испо л ьзования функция м и posix_spawn () и л и posix_spawnp () с це л ью получения м ножества открытых фай л овых дескрипторов, унас л едованных порожденны м процессо м от своего родите л я, и м ею щ е г о собственное м ножество открытых фай л овых дескрипторов в м о м ент вызова функции posix_spawn () и л и posix_spawnp (). Д л я реор г анизации фай л овых дескрипторов бы л о пред л ожено о г раничиться то л ько операция м и close () и dup2 (), а для то г о, чтобы порожденный процесс получил «в наследство» открытые файлы, м ожно посгупить дву м я способа м и: либо заставить вызывающий процесс открывать их перед вызово м функции posix_spawn() или posix_spawnp() (и закрывать их пото м), либо передавать и м ена нужных файлов в порожденный процесс (в аргу м енте argv), чтобы он м ог их открыть са м остоятельно. Разработчики стандарта реко м ендовали использовать на практике один из этих двух способов, поскольку детализированный статус ошибки в случае сбоя при выполнении операции открытия файла всегда доступен для приложения. Но разработчики стандарта по следую щ и м причина м все же считают воз м ожны м разрешить включение в объект действий над файла м и операцию open.
