10.6.8. Наша история до настоящего времени, эпизод II
10.6.8. Наша история до настоящего времени, эпизод II
System V Release 3 API был предназначен для исправления различных проблем, представленных первоначальным API сигналов V7. В частности, важной дополнительной концепцией является понятие о блокировке сигналов.
Однако, этот API оказался недостаточным, поскольку он работал лишь с одним сигналом за раз, оставляя множество широко открытых окон, через которые могли поступать нежелательные сигналы. POSIX API, работая атомарно с множеством сигналов (маской сигналов процесса, программно представленной типом sigset_t), решает эту проблему, закрывая окна.
Первый набор функций, который мы исследовали, манипулирует значениями sigset_t: sigfillset(), sigemptyset(), sigaddset(), sigdelset() и sigismember().
Следующий набор работает с маской сигналов процесса: sigprocmask() устанавливает и получает маску сигналов процесса, sigpending() получает набор ожидающих сигналов, a sigsuspend() помещает процесс в состояние сна, временно заменяя маску сигналов процесса одним из своих параметров.
Функция POSIX API sigaction() (весьма) запутана из-за необходимости обеспечить:
• обратную совместимость: SA_RESETHAND и SA_RESTART в поле sa_flags;
• выбор, блокировать также полученный сигнал или нет: SA_NODEFER для sa_flags;
• возможность иметь два различных вида обработчиков сигналов: с одним или с тремя аргументами;
• выбор поведения для управления SIGCHLD: SA_NOCLDSTOP и SA_NOCLDWAIT для sa_flags.
Функция siginterrupt() является удобной для разрешения или запрещения повторного запуска системных вызовов для данного сигнала.
Наконец, для посылки сигналов не только текущему, но также и другим процессам могут использоваться kill() и killpg() (конечно, с проверкой прав доступа).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
10.4.7. Наша история до настоящего времени, эпизод 1
10.4.7. Наша история до настоящего времени, эпизод 1 Сигналы являются сложной темой, и она становится еще более сбивающей с толку. Поэтому давайте на время сделаем остановку, сделаем шаг назад и подведем итог обсужденному до сих пор:• Сигналы являются указанием того, что
Действительно ли наша эпоха другая?
Действительно ли наша эпоха другая? Здесь, в самом конце книги, нужно вернуться к большому вопросу, поставленному в начале: правда ли, что с интернетом все окажется иначе? Или ему суждено преобразоваться в несколько гигантских многоуровневых монополий, которые будут
2.3. Движение открытого исходного кода: с 1998 года до настоящего времени
2.3. Движение открытого исходного кода: с 1998 года до настоящего времени К моменту выхода браузера Mozilla в 1998 году хакерское сообщество наиболее правильно было бы охарактеризовать как множество группировок или братств. В него входили: движение свободного программного
2.3. Движение открытого исходного кода: с 1998 года до настоящего времени
2.3. Движение открытого исходного кода: с 1998 года до настоящего времени К моменту выхода браузера Mozilla в 1998 году хакерское сообщество наиболее правильно было бы охарактеризовать как множество группировок или братств. В него входили: движение свободного программного
Наша вычислительная система
Наша вычислительная система Некоторые детали реализации языка Си, например объем памяти, требуемый для того, чтобы поместить туда число, зависят от конкретной системы. Когда мы рассматриваем какие-нибудь при. меры и употребляем слова "наша система", мы имеем в виду
ТЕМА НОМЕРА: Наша сила в тапках
ТЕМА НОМЕРА: Наша сила в тапках Последней каплей, переполнившей чаши моего любопытства и терпения и послужившей затравкой для написания сегодняшнего обзора, стала новость о появлении в Японии домашних тапочек с подогревом. Все бы ничего, да питаются тапки… от USB. Коли
ГОСТИНАЯ: Наша песенка спета?
ГОСТИНАЯ: Наша песенка спета? Автор: Дмитрий ШабановЧем дальше, тем больше убеждаюсь, что выработка собственного мнения на основе рациональных аргументов – отживший способ отношений с действительностью. Доводов, требующих рассуждения, нет ни в жизни, ни в телевизоре –
ФМ-ВЕЩАНИЕ: Shareware как бизнес. Эпизод 2 —Страх
ФМ-ВЕЩАНИЕ: Shareware как бизнес. Эпизод 2 —Страх Автор: Алексей РовдоЗадумывались ли вы когда-нибудь над истинными мотивами своих решений и поступков? Не понарошку, не для публики, а по-настоящему глубоко, и в первую очередь для того, чтобы понять самого себя? Не торопитесь с
Стрелы времени: история хронометрирования Евгений Лебеденко, Mobi.ru
Стрелы времени: история хронометрирования Евгений Лебеденко, Mobi.ru Опубликовано 10 января 2012 года Время. Удивительно многогранная категория, нашедшая свое место и у физиков (мера движения материи, координата четырёхмерного пространства-времени), и у
Голубятня: Наша ниша Сергей Голубицкий
Голубятня: Наша ниша Сергей Голубицкий Опубликовано 21 января 2011 года Хочется порассуждать о нашей айтишной нише. Спешу успокоить: поводов для волнения нет никаких, потому как все мысли мои навеяны личными переживаниями, никак не связанными с
На смерть PC, эпизод цатый, или Спасут ли Intel субатомные технологии? Евгений Золотов
На смерть PC, эпизод цатый, или Спасут ли Intel субатомные технологии? Евгений Золотов Опубликовано 18 сентября 2013 Каждый раз, когда разговор в этой колонке заходит о «здоровье» PC-индустрии, я поражаюсь комментариям читателей. Можно рассуждать о
Рейс MH370: эпизод третий, подводный Евгений Золотов
Рейс MH370: эпизод третий, подводный Евгений Золотов Опубликовано 09 апреля 2014 Поиски «Боинга 777-200», ночью 8 марта вылетевшего из Куала-Лумпура в Пекин и пропавшего без следа, продолжаются. Есть смысл вернуться к ним и нам. Рейс MH370 искали на земле, в
Голубятня: Наша Горбушка
Голубятня: Наша Горбушка Автор: Сергей ГолубицкийОпубликовано 18 июня 2012 годаВчера провел несколько часов на Горбушке, чего не делал уже лет несколько. Зачем ездил - не скажу, чтобы не будировать Тех, Кто Никогда Не Дремлет, тем более, что «Голубятня» совсем о других
Стрелы времени: история хронометрирования
Стрелы времени: история хронометрирования Автор: Евгений Лебеденко, Mobi.ruОпубликовано 10 января 2012 годаВремя. Удивительно многогранная категория, нашедшая свое место и у физиков (мера движения материи, координата четырёхмерного пространства-времени), и у лириков,
Глава 2. Эпизод из программистской практики
Глава 2. Эпизод из программистской практики День за днем программист выполняет одну и ту же последовательность действий, которую можно назвать программным проектом в миниатюре: он изучает задачу, четко связанную с возможностью продукта, в которой нуждается заказчик,