diff options
Diffstat (limited to 'meta-networking/recipes-extended/mime-construct/files/Signal.pm')
-rw-r--r-- | meta-networking/recipes-extended/mime-construct/files/Signal.pm | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/meta-networking/recipes-extended/mime-construct/files/Signal.pm b/meta-networking/recipes-extended/mime-construct/files/Signal.pm deleted file mode 100644 index 9280e88681..0000000000 --- a/meta-networking/recipes-extended/mime-construct/files/Signal.pm +++ /dev/null | |||
@@ -1,132 +0,0 @@ | |||
1 | # $Id: Signal.pm,v 1.4 1998-10-27 16:16:13-05 roderick Exp $ | ||
2 | # | ||
3 | # Copyright (c) 1997 Roderick Schertler. All rights reserved. This | ||
4 | # program is free software; you can redistribute it and/or modify it | ||
5 | # under the same terms as Perl itself. | ||
6 | |||
7 | package IPC::Signal; | ||
8 | |||
9 | use 5.003_94; # __PACKAGE__ | ||
10 | use strict; | ||
11 | use vars qw($VERSION @ISA @EXPORT_OK $AUTOLOAD %Sig_num @Sig_name); | ||
12 | |||
13 | require Exporter; | ||
14 | |||
15 | $VERSION = '1.00'; | ||
16 | @ISA = qw(Exporter); | ||
17 | @EXPORT_OK = qw(sig_num sig_name sig_translate_setup %Sig_num @Sig_name); | ||
18 | %Sig_num = (); | ||
19 | @Sig_name = (); | ||
20 | |||
21 | sub sig_num ($); | ||
22 | sub sig_name ($); | ||
23 | |||
24 | sub sig_translate_setup () { | ||
25 | return if %Sig_num && @Sig_name; | ||
26 | |||
27 | require Config; | ||
28 | |||
29 | # In 5.005 the sig_num entries are comma separated and there's a | ||
30 | # trailing 0. | ||
31 | my $num = $Config::Config{'sig_num'}; | ||
32 | if ($num =~ s/,//g) { | ||
33 | $num =~ s/\s+0$//; | ||
34 | } | ||
35 | |||
36 | my @name = split ' ', $Config::Config{'sig_name'}; | ||
37 | my @num = split ' ', $num; | ||
38 | |||
39 | @name or die 'No signals defined'; | ||
40 | @name == @num or die 'Signal name/number mismatch'; | ||
41 | |||
42 | @Sig_num{@name} = @num; | ||
43 | keys %Sig_num == @name or die 'Duplicate signal names present'; | ||
44 | for (@name) { | ||
45 | $Sig_name[$Sig_num{$_}] = $_ | ||
46 | unless defined $Sig_name[$Sig_num{$_}]; | ||
47 | } | ||
48 | } | ||
49 | |||
50 | # This autoload routine just is just for sig_num() and sig_name(). It | ||
51 | # calls sig_translate_setup() and then snaps the real function definitions | ||
52 | # into place. | ||
53 | |||
54 | sub AUTOLOAD { | ||
55 | if ($AUTOLOAD ne __PACKAGE__ . '::sig_num' | ||
56 | && $AUTOLOAD ne __PACKAGE__ . '::sig_name') { | ||
57 | require Carp; | ||
58 | Carp::croak("Undefined subroutine &$AUTOLOAD called"); | ||
59 | } | ||
60 | sig_translate_setup; | ||
61 | *sig_num = sub ($) { $Sig_num{$_[0]} }; | ||
62 | *sig_name = sub ($) { $Sig_name[$_[0]] }; | ||
63 | goto &$AUTOLOAD; | ||
64 | } | ||
65 | |||
66 | 1 | ||
67 | |||
68 | __END__ | ||
69 | |||
70 | =head1 NAME | ||
71 | |||
72 | IPC::Signal - Utility functions dealing with signals | ||
73 | |||
74 | =head1 SYNOPSIS | ||
75 | |||
76 | $number = sig_num $name; | ||
77 | $name = sig_name $number; | ||
78 | |||
79 | sig_translate_setup; | ||
80 | $number = $Sig_num{$name}; | ||
81 | $name = $Sig_name[$number]; | ||
82 | |||
83 | =head1 DESCRIPTION | ||
84 | |||
85 | This module contains utility functions for dealing with signals. | ||
86 | |||
87 | Nothing is exported by default. | ||
88 | |||
89 | =over | ||
90 | |||
91 | =item B<sig_num> I<chopped-signal-name> | ||
92 | |||
93 | Returns the signal number of the signal whose name (sans C<SIG>) is | ||
94 | I<chopped-signal-name>, or undef if there is no such signal. | ||
95 | |||
96 | This function is prototyped to take a single scalar argument. | ||
97 | |||
98 | =item B<sig_name> I<signal-number> | ||
99 | |||
100 | Returns the chopped signal name (like C<HUP>) of signal number | ||
101 | I<signal-number>, or undef if there is no such signal. | ||
102 | |||
103 | This function is prototyped to take a single scalar argument. | ||
104 | |||
105 | =item B<sig_translate_setup> | ||
106 | |||
107 | If you want to use the @Sig_name and %Sig_num variables directly you must | ||
108 | call B<sig_translate_setup> to initialize them. This isn't necessary if | ||
109 | you only use the function interfaces sig_name() and sig_num(). | ||
110 | |||
111 | This function is prototyped to take no arguments. | ||
112 | |||
113 | =item B<%Sig_num> | ||
114 | |||
115 | A hash with chopped signal name keys (like C<HUP>) and integer signal | ||
116 | number values. | ||
117 | |||
118 | =item B<@Sig_name> | ||
119 | |||
120 | An array mapping signal numbers to chopped signal names (like C<HUP>). | ||
121 | |||
122 | =back | ||
123 | |||
124 | =head1 AUTHOR | ||
125 | |||
126 | Roderick Schertler <F<roderick@argon.org>> | ||
127 | |||
128 | =head1 SEE ALSO | ||
129 | |||
130 | perl(1). | ||
131 | |||
132 | =cut | ||