Я написал приложение, в котором я зарегистрировал номер обработчика сигналов для разных сигналов в Linux.
После того как процесс получает сигнал, управление передается обработчику сигнала, который я зарегистрировал. В этом обработчике я выполняю некоторую работу, которую мне нужно сделать, а затем я хотел бы вызвать обработчик сигнала по умолчанию i.e SIF_DFL или SIG_IGN.
Однако SIG_DFL и SIG_ING являются макросами, которые расширяются до числовых значений 0 и 1 соответственно, что является недопустимыми адресами функций.
Есть ли способ, которым я могу вызывать действия по умолчанию i.e SIG_DFL или SIG_IGN?
Чтобы достичь эффекта SIG_DFL или SIG_ING, я вызываю exit (1) и ничего не делаю, соответственно. Но для сигналов типа SIGSEGV я также хотел бы иметь базовый дамп.
В общем, я бы хотел, чтобы мое поведение по умолчанию было таким же, как SIG_DFL, и игнорировало поведение, подобное SIG_IGN, как будет работать операционная система.