← Index
NYTProf Performance Profile   « line view »
For ./view
  Run on Fri Jul 31 18:42:36 2015
Reported on Fri Jul 31 18:48:13 2015

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