Filename | /usr/lib/x86_64-linux-gnu/perl/5.28/Errno.pm |
Statements | Executed 282 statements in 854µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 188µs | 188µs | BEGIN@17 | Errno::
1 | 1 | 1 | 10µs | 12µs | BEGIN@9 | Errno::
1 | 1 | 1 | 9µs | 10µs | _tie_it | Errno::
1 | 1 | 1 | 1µs | 1µs | TIEHASH | Errno::
0 | 0 | 0 | 0s | 0s | EXISTS | Errno::
0 | 0 | 0 | 0s | 0s | FETCH | Errno::
0 | 0 | 0 | 0s | 0s | FIRSTKEY | Errno::
0 | 0 | 0 | 0s | 0s | NEXTKEY | Errno::
0 | 0 | 0 | 0s | 0s | STORE | Errno::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | # -*- buffer-read-only: t -*- | ||||
2 | # | ||||
3 | # This file is auto-generated by ext/Errno/Errno_pm.PL. | ||||
4 | # ***ANY*** changes here will be lost. | ||||
5 | # | ||||
6 | |||||
7 | package Errno; | ||||
8 | 1 | 400ns | require Exporter; | ||
9 | 2 | 365µs | 2 | 14µs | # spent 12µs (10+2) within Errno::BEGIN@9 which was called:
# once (10µs+2µs) by File::Temp::BEGIN@16 at line 9 # spent 12µs making 1 call to Errno::BEGIN@9
# spent 2µs making 1 call to strict::import |
10 | |||||
11 | 1 | 300ns | our $VERSION = "1.30"; | ||
12 | 1 | 10µs | $VERSION = eval $VERSION; # spent 2µs executing statements in string eval | ||
13 | 1 | 5µs | our @ISA = 'Exporter'; | ||
14 | |||||
15 | 1 | 200ns | my %err; | ||
16 | |||||
17 | # spent 188µs within Errno::BEGIN@17 which was called:
# once (188µs+0s) by File::Temp::BEGIN@16 at line 173 | ||||
18 | 1 | 62µs | %err = ( | ||
19 | EPERM => 1, | ||||
20 | ENOENT => 2, | ||||
21 | ESRCH => 3, | ||||
22 | EINTR => 4, | ||||
23 | EIO => 5, | ||||
24 | ENXIO => 6, | ||||
25 | E2BIG => 7, | ||||
26 | ENOEXEC => 8, | ||||
27 | EBADF => 9, | ||||
28 | ECHILD => 10, | ||||
29 | EAGAIN => 11, | ||||
30 | EWOULDBLOCK => 11, | ||||
31 | ENOMEM => 12, | ||||
32 | EACCES => 13, | ||||
33 | EFAULT => 14, | ||||
34 | ENOTBLK => 15, | ||||
35 | EBUSY => 16, | ||||
36 | EEXIST => 17, | ||||
37 | EXDEV => 18, | ||||
38 | ENODEV => 19, | ||||
39 | ENOTDIR => 20, | ||||
40 | EISDIR => 21, | ||||
41 | EINVAL => 22, | ||||
42 | ENFILE => 23, | ||||
43 | EMFILE => 24, | ||||
44 | ENOTTY => 25, | ||||
45 | ETXTBSY => 26, | ||||
46 | EFBIG => 27, | ||||
47 | ENOSPC => 28, | ||||
48 | ESPIPE => 29, | ||||
49 | EROFS => 30, | ||||
50 | EMLINK => 31, | ||||
51 | EPIPE => 32, | ||||
52 | EDOM => 33, | ||||
53 | ERANGE => 34, | ||||
54 | EDEADLK => 35, | ||||
55 | EDEADLOCK => 35, | ||||
56 | ENAMETOOLONG => 36, | ||||
57 | ENOLCK => 37, | ||||
58 | ENOSYS => 38, | ||||
59 | ENOTEMPTY => 39, | ||||
60 | ELOOP => 40, | ||||
61 | ENOMSG => 42, | ||||
62 | EIDRM => 43, | ||||
63 | ECHRNG => 44, | ||||
64 | EL2NSYNC => 45, | ||||
65 | EL3HLT => 46, | ||||
66 | EL3RST => 47, | ||||
67 | ELNRNG => 48, | ||||
68 | EUNATCH => 49, | ||||
69 | ENOCSI => 50, | ||||
70 | EL2HLT => 51, | ||||
71 | EBADE => 52, | ||||
72 | EBADR => 53, | ||||
73 | EXFULL => 54, | ||||
74 | ENOANO => 55, | ||||
75 | EBADRQC => 56, | ||||
76 | EBADSLT => 57, | ||||
77 | EBFONT => 59, | ||||
78 | ENOSTR => 60, | ||||
79 | ENODATA => 61, | ||||
80 | ETIME => 62, | ||||
81 | ENOSR => 63, | ||||
82 | ENONET => 64, | ||||
83 | ENOPKG => 65, | ||||
84 | EREMOTE => 66, | ||||
85 | ENOLINK => 67, | ||||
86 | EADV => 68, | ||||
87 | ESRMNT => 69, | ||||
88 | ECOMM => 70, | ||||
89 | EPROTO => 71, | ||||
90 | EMULTIHOP => 72, | ||||
91 | EDOTDOT => 73, | ||||
92 | EBADMSG => 74, | ||||
93 | EOVERFLOW => 75, | ||||
94 | ENOTUNIQ => 76, | ||||
95 | EBADFD => 77, | ||||
96 | EREMCHG => 78, | ||||
97 | ELIBACC => 79, | ||||
98 | ELIBBAD => 80, | ||||
99 | ELIBSCN => 81, | ||||
100 | ELIBMAX => 82, | ||||
101 | ELIBEXEC => 83, | ||||
102 | EILSEQ => 84, | ||||
103 | ERESTART => 85, | ||||
104 | ESTRPIPE => 86, | ||||
105 | EUSERS => 87, | ||||
106 | ENOTSOCK => 88, | ||||
107 | EDESTADDRREQ => 89, | ||||
108 | EMSGSIZE => 90, | ||||
109 | EPROTOTYPE => 91, | ||||
110 | ENOPROTOOPT => 92, | ||||
111 | EPROTONOSUPPORT => 93, | ||||
112 | ESOCKTNOSUPPORT => 94, | ||||
113 | ENOTSUP => 95, | ||||
114 | EOPNOTSUPP => 95, | ||||
115 | EPFNOSUPPORT => 96, | ||||
116 | EAFNOSUPPORT => 97, | ||||
117 | EADDRINUSE => 98, | ||||
118 | EADDRNOTAVAIL => 99, | ||||
119 | ENETDOWN => 100, | ||||
120 | ENETUNREACH => 101, | ||||
121 | ENETRESET => 102, | ||||
122 | ECONNABORTED => 103, | ||||
123 | ECONNRESET => 104, | ||||
124 | ENOBUFS => 105, | ||||
125 | EISCONN => 106, | ||||
126 | ENOTCONN => 107, | ||||
127 | ESHUTDOWN => 108, | ||||
128 | ETOOMANYREFS => 109, | ||||
129 | ETIMEDOUT => 110, | ||||
130 | ECONNREFUSED => 111, | ||||
131 | EHOSTDOWN => 112, | ||||
132 | EHOSTUNREACH => 113, | ||||
133 | EALREADY => 114, | ||||
134 | EINPROGRESS => 115, | ||||
135 | ESTALE => 116, | ||||
136 | EUCLEAN => 117, | ||||
137 | ENOTNAM => 118, | ||||
138 | ENAVAIL => 119, | ||||
139 | EISNAM => 120, | ||||
140 | EREMOTEIO => 121, | ||||
141 | EDQUOT => 122, | ||||
142 | ENOMEDIUM => 123, | ||||
143 | EMEDIUMTYPE => 124, | ||||
144 | ECANCELED => 125, | ||||
145 | ENOKEY => 126, | ||||
146 | EKEYEXPIRED => 127, | ||||
147 | EKEYREVOKED => 128, | ||||
148 | EKEYREJECTED => 129, | ||||
149 | EOWNERDEAD => 130, | ||||
150 | ENOTRECOVERABLE => 131, | ||||
151 | ERFKILL => 132, | ||||
152 | EHWPOISON => 133, | ||||
153 | ); | ||||
154 | # Generate proxy constant subroutines for all the values. | ||||
155 | # Well, almost all the values. Unfortunately we can't assume that at this | ||||
156 | # point that our symbol table is empty, as code such as if the parser has | ||||
157 | # seen code such as C<exists &Errno::EINVAL>, it will have created the | ||||
158 | # typeglob. | ||||
159 | # Doing this before defining @EXPORT_OK etc means that even if a platform is | ||||
160 | # crazy enough to define EXPORT_OK as an error constant, everything will | ||||
161 | # still work, because the parser will upgrade the PCS to a real typeglob. | ||||
162 | # We rely on the subroutine definitions below to update the internal caches. | ||||
163 | # Don't use %each, as we don't want a copy of the value. | ||||
164 | 1 | 17µs | foreach my $name (keys %err) { | ||
165 | 134 | 46µs | if ($Errno::{$name}) { | ||
166 | # We expect this to be reached fairly rarely, so take an approach | ||||
167 | # which uses the least compile time effort in the common case: | ||||
168 | 1 | 25µs | eval "sub $name() { $err{$name} }; 1" or die $@; # spent 2µs executing statements in string eval | ||
169 | } else { | ||||
170 | 133 | 36µs | $Errno::{$name} = \$err{$name}; | ||
171 | } | ||||
172 | } | ||||
173 | 1 | 246µs | 1 | 188µs | } # spent 188µs making 1 call to Errno::BEGIN@17 |
174 | |||||
175 | 1 | 12µs | our @EXPORT_OK = keys %err; | ||
176 | |||||
177 | 1 | 5µs | our %EXPORT_TAGS = ( | ||
178 | POSIX => [qw( | ||||
179 | E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY | ||||
180 | EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK | ||||
181 | EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH | ||||
182 | EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK | ||||
183 | EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS | ||||
184 | ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK | ||||
185 | ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM | ||||
186 | EPFNOSUPPORT EPIPE EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART | ||||
187 | EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT | ||||
188 | ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV | ||||
189 | )], | ||||
190 | ); | ||||
191 | |||||
192 | 1 | 5µs | # spent 1µs within Errno::TIEHASH which was called:
# once (1µs+0s) by Errno::_tie_it at line 224 | ||
193 | |||||
194 | sub FETCH { | ||||
195 | my (undef, $errname) = @_; | ||||
196 | return "" unless exists $err{$errname}; | ||||
197 | my $errno = $err{$errname}; | ||||
198 | return $errno == $! ? $errno : 0; | ||||
199 | } | ||||
200 | |||||
201 | sub STORE { | ||||
202 | require Carp; | ||||
203 | Carp::confess("ERRNO hash is read only!"); | ||||
204 | } | ||||
205 | |||||
206 | # This is the true return value | ||||
207 | 1 | 12µs | *CLEAR = *DELETE = \*STORE; # Typeglob aliasing uses less space | ||
208 | |||||
209 | sub NEXTKEY { | ||||
210 | each %err; | ||||
211 | } | ||||
212 | |||||
213 | sub FIRSTKEY { | ||||
214 | my $s = scalar keys %err; # initialize iterator | ||||
215 | each %err; | ||||
216 | } | ||||
217 | |||||
218 | sub EXISTS { | ||||
219 | my (undef, $errname) = @_; | ||||
220 | exists $err{$errname}; | ||||
221 | } | ||||
222 | |||||
223 | # spent 10µs (9+1) within Errno::_tie_it which was called:
# once (9µs+1µs) by IO::CaptureOutput::_proxy::BEGIN@138 at line 391 of File/Temp.pm | ||||
224 | 1 | 6µs | 1 | 1µs | tie %{$_[0]}, __PACKAGE__; # spent 1µs making 1 call to Errno::TIEHASH |
225 | } | ||||
226 | |||||
227 | __END__ |