| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package POSIX::RT::Signal; |
|
2
|
|
|
|
|
|
|
$POSIX::RT::Signal::VERSION = '0.019'; |
|
3
|
1
|
|
|
1
|
|
156915
|
use strict; |
|
|
1
|
|
|
|
|
3
|
|
|
|
1
|
|
|
|
|
74
|
|
|
4
|
1
|
|
|
1
|
|
7
|
use warnings; |
|
|
1
|
|
|
|
|
7
|
|
|
|
1
|
|
|
|
|
60
|
|
|
5
|
|
|
|
|
|
|
|
|
6
|
1
|
|
|
1
|
|
6
|
use Exporter 'import'; |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
97
|
|
|
7
|
|
|
|
|
|
|
our @EXPORT = qw/sigwaitinfo sigtimedwait sigwait sigqueue allocate_signal deallocate_signal/; |
|
8
|
|
|
|
|
|
|
our %EXPORT_TAGS = (all => \@EXPORT); |
|
9
|
|
|
|
|
|
|
|
|
10
|
1
|
|
|
1
|
|
7
|
use Carp qw/croak/; |
|
|
1
|
|
|
|
|
4
|
|
|
|
1
|
|
|
|
|
75
|
|
|
11
|
1
|
|
|
1
|
|
589
|
use POSIX qw//; |
|
|
1
|
|
|
|
|
11031
|
|
|
|
1
|
|
|
|
|
40
|
|
|
12
|
1
|
|
|
1
|
|
9
|
use XSLoader; |
|
|
1
|
|
|
|
|
3
|
|
|
|
1
|
|
|
|
|
65
|
|
|
13
|
1
|
|
|
1
|
|
665
|
use Signal::Info; |
|
|
1
|
|
|
|
|
899
|
|
|
|
1
|
|
|
|
|
64
|
|
|
14
|
1
|
|
|
1
|
|
829
|
use threads::shared; |
|
|
1
|
|
|
|
|
1882
|
|
|
|
1
|
|
|
|
|
12
|
|
|
15
|
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
XSLoader::load(__PACKAGE__, __PACKAGE__->VERSION); |
|
17
|
|
|
|
|
|
|
|
|
18
|
1
|
|
|
1
|
|
974
|
my @signals : shared = (defined &POSIX::SIGRTMIN) ? (POSIX::SIGRTMIN() .. POSIX::SIGRTMAX()) : (POSIX::SIGUSR1(), POSIX::SIGUSR2()); |
|
|
1
|
|
|
|
|
1662
|
|
|
|
1
|
|
|
|
|
274
|
|
|
19
|
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
my %allowed = map { ( $_ => 1 ) } @signals; |
|
21
|
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
sub allocate_signal { |
|
23
|
3
|
|
|
3
|
1
|
463544
|
my ($priority) = @_; |
|
24
|
3
|
|
33
|
|
|
15
|
return +($priority ? shift @signals : pop @signals) || croak 'no more signal numbers available'; |
|
25
|
|
|
|
|
|
|
} |
|
26
|
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
sub deallocate_signal { |
|
28
|
1
|
|
|
1
|
1
|
1140
|
my ($signal) = @_; |
|
29
|
1
|
50
|
|
|
|
7
|
croak 'Signal not from original set' if not $allowed{$signal}; |
|
30
|
1
|
|
|
|
|
8
|
@signals = sort { $a <=> $b } @signals, $signal; |
|
|
29
|
|
|
|
|
30
|
|
|
31
|
1
|
|
|
|
|
2
|
return; |
|
32
|
|
|
|
|
|
|
} |
|
33
|
|
|
|
|
|
|
|
|
34
|
|
|
|
|
|
|
1; |
|
35
|
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
#ABSTRACT: POSIX Real-time signal handling functions |
|
37
|
|
|
|
|
|
|
|
|
38
|
|
|
|
|
|
|
__END__ |