ex65.pp 541 B

12345678910111213141516171819202122232425262728293031
  1. Program example64;
  2. { Program to demonstrate the SigRaise function.}
  3. uses Linux;
  4. Var
  5. oa,na : PSigActionRec;
  6. Procedure DoSig(sig : Longint);cdecl;
  7. begin
  8. writeln('Receiving signal: ',sig);
  9. end;
  10. begin
  11. new(na);
  12. new(oa);
  13. na^.handler.sh:=@DoSig;
  14. na^.Sa_Mask:=0;
  15. na^.Sa_Flags:=0;
  16. na^.Sa_Restorer:=Nil;
  17. SigAction(SigUsr1,na,oa);
  18. if LinuxError<>0 then
  19. begin
  20. writeln('Error: ',linuxerror,'.');
  21. halt(1);
  22. end;
  23. Writeln('Sending USR1 (',sigusr1,') signal to self.');
  24. SigRaise(sigusr1);
  25. end.