Пример восстановление прежнего действия
Как упоминалось выше, в структуре sigaction может быть заполнен третий параметр oact. Это позволяет сохранять и восстанавливать прежнее состояние обработчика сигнала, как показано в следующем примере:
uses linux;
var
act, oact: sigactionrec;
(* Сохранить старый обработчик сигнала SIGTERM *)
sigaction(SIGTERM, nil, @oact);
(* Определить новый обработчик сигнала SIGTERM *)
act.handler.sh := SIG_IGN;
sigaction(SIGTERM, @act, nil);
(* Выполнить какие-либо действия *)
(* Восстановить старый обработчик *)
sigaction(SIGTERM, @oact, nil);