3
Функция сигнала возвращает значение старого обработчика, но какова ситуация, когда значение старого обработчика может быть полезным, потому что большинство мест мы не проверяем возвращаемое значение сигнальной функции.Что такое использование возвращаемого типа сигнальной функции
спасибо за ваш ans, но можете ли вы привести пример, где мы хотим назвать старого обработчика, я имею в виду, в каком состоянии мы хотели бы снова вызвать старого обработчика? –
@pankajkushwaha [Этот ответ] (http://stackoverflow.com/a/13290134/335858) содержит очень подробный пример кода, также объясняющий, как обращаться с 'SIG_DFL' и' SIG_IGN'. – dasblinkenlight
Одним из примеров того, почему вам нужно подключить обработчики сигналов, является код JNI, который необходимо очистить от аномального завершения JVM. Для этого вы должны установить собственный обработчик SIGABRT и сохранить исходный обработчик - это обработчик SIGABRT JVM. Когда ваш обработчик SIGABRT вызывается, потому что JVM заканчивается ненормально, вы выполняете очистку, а затем вызываете оригинального обработчика SIGABRT. –