blob: 8effcf1144288040912e13f751579af913b72cf3 (
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
|
#!./perl
BEGIN {
chdir 't' if -d 't';
@INC = qw(. ../lib);
}
require Config; import Config;
require "test.pl";
plan(tests => 1);
SKIP: {
skip("Alarm not supported", 1) unless exists $Config{'d_alarm'};
$SIG{ALRM} = sub {
# We could call anything that modifies $! here, but
# this way we can be sure that it isn't the same
# errno as interrupted sleep() would return, and are
# able to check it thereafter.
$! = -1;
};
alarm 1;
sleep 2;
# Interrupted sleeps sets errno to EAGAIN, but signal
# that # hits after it (if safe signal handling is enabled)
# causes a routing that modifies $! to be run afterwards
isnt($! + 0, -1, 'Signal does not modify $!');
}
|