Системное программирование в UNIX средствами Free Pascal

       

Пример восстановление прежнего действия


Как упоминалось выше, в структуре 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);



Содержание раздела