mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-02 12:54:43 +02:00
38 lines
688 B
ObjectPascal
38 lines
688 B
ObjectPascal
Program example57;
|
|
|
|
{ Program to demonstrate the SigAction function.}
|
|
|
|
{
|
|
do a kill -USR1 pid from another terminal to see what happens.
|
|
replace pid with the real pid of this program.
|
|
You can get this pid by running 'ps'.
|
|
}
|
|
|
|
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 ('Send USR1 signal or press <ENTER> to exit');
|
|
readln;
|
|
end.
|