summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw14514.pp
blob: 01412ebb03ce6b05ab0e030d14db06977f1d1ce5 (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
34
35
36
37
38
{ %target=linux,darwin,solaris,freebsd,haiku,beos }

program TestSignal;

{$MODE objfpc}

uses
  BaseUnix,
  sysutils;

var
  Ok: Boolean;

procedure signal_handler(sig: LongInt); cdecl;
begin
  Writeln('4');
  Ok := True;
end;

var
  Pid: pid_t;
begin
  Ok := False;
  Writeln('1');
  fpsignal(SIGUSR1, @signal_handler);
  Writeln('2');
  Pid := fpgetpid;
  Writeln('3');
  fpkill(Pid, SIGUSR1);

  sleep(500);
  if not ok then
    halt(1);

  Writeln('5');
  Writeln('done');
end.