В портале Duetgroup Вы будете проинформированы о технологии и программирования на базе Linux.
А также о комплектации программ, о процессе разработки ПО, о скорости обработки данных и решении практических задач.

Вызов функций

Вызов функцийТакое поведение в чем-то сходно с рекурсивным вызовом функций, при этом глубина такой «рекурсии» будет равна числу сигналов, полученных во время выполнения обработчиков. В литературе иногда встречается термин «рекурсивный вызов обработчика». Такое название не совсем корректно, поскольку не имеет практически ничего общего с обычной рекурсией.
Несколько иное поведение будет у процесса, если восстанавливать обработчик, помещая вызов функции signal в последнюю строку обработчика. Таким образом можно избавиться от повторных вызовов обработчика, но если процесс получит сигнал до момента восстановления его обработчика, будет вызван обработчик по умолчанию, который может и вовсе завершить выполнение процесса.
После вызова функции alarm по истечении интервала времени time_interval, заданного в секундах, ядро пошлет сигнал SIGALRM процессу, вызвавшему эту функцию.
Если вызвать функцию alarm до истечения интервала времени, заданного предыдущим вызовом функции, то функция установит новый интервал, заданный параметром time__interval, и вернет число секунд, оставшихся до истечения старого интервала. Если значе-ние параметра time_interval при этом будет равно нулю, то посылка сигнала будет отменена.
Рассматриваемые в данном разделе сигналы получили название «ненадежные сигналы». Причиной такого названия послужило то, что для этих сигналов не гарантируются их доставка до процесса - получателя и их обработка процессом. Основная причина этого заключается в том, что после прихода сигнала сбрасывается адрес функции-обработчика в соответствующей строке таблицы обработчиков, а также в том, что при одновременном приходе нескольких одинаковых сигналов процесс обрабатывает только один из них. Чтобы разобраться в причинах этого, рассмотрим более подробно структуру таблицы обработчиков сигналов и доставку сигнала в процесс.