Я успешно подключил функцию-обработчик к SIG_INT и SIG_KILL, но теперь я хотел бы иметь возможность «отсоединить» обработчик в определенной точке (если быть точным после разветвления).Вот как я прикрепляю обработчик:
struct sigaction sa;
sa.sa_handler = interrupt_handler;
sigempty(&sa.sa_mask);
sa.sa_flags = SA_SIGINFO;
sigaction(SIG_INT, &sa, NULL);
sigaction(SIG_KILL, &sa, NULL);
interrupt_handler только что-то печатает.