blob: 25cd80b6f1b216f0a704e7663a620cd165b2a0dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
Program example64;
{ Program to demonstrate the SigRaise function.}
uses Unix,BaseUnix;
Var
oa,na : PSigActionrec;
Procedure DoSig(sig : Longint);cdecl;
begin
writeln('Receiving signal: ',sig);
end;
begin
new(na);
new(oa);
na^.sa_handler:=SigActionHandler(@DoSig);
fillchar(na^.Sa_Mask,sizeof(na^.Sa_Mask),#0);
na^.Sa_Flags:=0;
{$ifdef Linux}
// this member is linux only, and afaik even there arcane
na^.Sa_Restorer:=Nil;
{$endif}
if fpSigAction(SigUsr1,na,oa)<>0 then
begin
writeln('Error: ',fpgeterrno);
halt(1);
end;
Writeln('Sending USR1 (',sigusr1,') signal to self.');
SigRaise(sigusr1);
end.
|