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


         

Описание


uses linux;

Procedure SigRaise(Sig:integer);

Вызывающему процессу посылается сигнал, определенный параметром sig и в случае успеха функция sigraise возвращает нулевое значение. Например:

uses Linux;

Var

   oa,na : PSigActionRec;

  

Procedure DoSig(sig : Longint);cdecl;

begin

   writeln('Receiving signal: ',sig);

end;

begin

   new(na);

   new(oa);

   na^.handler.sh:=@DoSig;

   na^.Sa_Mask:=0;

   na^.Sa_Flags:=0;

   na^.Sa_Restorer:=Nil;

   SigAction(SigUsr1,na,oa);

   if LinuxError<>0 then

     begin

     writeln('Error: ',linuxerror,'.');

     halt(1);

     end;

   Writeln('Sending USR1 (',sigusr1,') signal to self.');

   SigRaise(sigusr1);

end.

Вызов alarm – это простой и полезный вызов, который устанавливает таймер процесса. При срабатывании таймера процессу посылается сигнал.




Содержание  Назад  Вперед