17 |
|
|
18 |
my $pid; |
my $pid; |
19 |
|
|
|
$SIG{CHLD} = 'IGNORE'; |
|
|
|
|
20 |
unless ($pid = fork) { |
unless ($pid = fork) { |
21 |
|
|
22 |
|
local $SIG{HUP} = sub { |
23 |
|
diag "exiting SOAP server"; |
24 |
|
exit 0; |
25 |
|
}; |
26 |
|
|
27 |
diag "SOAP server at ", $daemon->url; |
diag "SOAP server at ", $daemon->url; |
28 |
$daemon->handle; |
$daemon->handle; |
29 |
|
|
30 |
} |
} |
31 |
|
|
32 |
diag "child pid: $pid"; |
diag "child pid: $pid"; |
63 |
|
|
64 |
diag "message_id: $message_id"; |
diag "message_id: $message_id"; |
65 |
|
|
66 |
ok(kill('TERM' => $pid), "kill $pid"); |
ok(kill('HUP' => $pid), "kill $pid"); |
67 |
|
|
68 |
sleep 1; |
ok(waitpid($pid,0), "waitpid"); |
|
print `ps ax`; |
|
69 |
|
|
70 |
ok(! kill(0, $pid), "child dead"); |
ok(! kill(0, $pid), "child dead"); |
71 |
|
|
|
ok(waitpid($pid,0), "waitpid"); |
|
|
|
|
72 |
exit 1; |
exit 1; |