← Index
NYTProf Performance Profile   « line view »
For /usr/local/bin/sa-learn
  Run on Sun Nov 5 03:09:29 2017
Reported on Mon Nov 6 13:20:47 2017

Filename/usr/local/lib/perl5/5.24/mach/IO/Socket/UNIX.pm
StatementsExecuted 11 statements in 844µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11146µs55µsIO::Socket::UNIX::::BEGIN@9IO::Socket::UNIX::BEGIN@9
11122µs159µsIO::Socket::UNIX::::BEGIN@12IO::Socket::UNIX::BEGIN@12
11121µs3.39msIO::Socket::UNIX::::BEGIN@11IO::Socket::UNIX::BEGIN@11
0000s0sIO::Socket::UNIX::::configureIO::Socket::UNIX::configure
0000s0sIO::Socket::UNIX::::hostpathIO::Socket::UNIX::hostpath
0000s0sIO::Socket::UNIX::::newIO::Socket::UNIX::new
0000s0sIO::Socket::UNIX::::peerpathIO::Socket::UNIX::peerpath
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# IO::Socket::UNIX.pm
2#
3# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
4# This program is free software; you can redistribute it and/or
5# modify it under the same terms as Perl itself.
6
7package IO::Socket::UNIX;
8
9284µs265µs
# spent 55µs (46+9) within IO::Socket::UNIX::BEGIN@9 which was called: # once (46µs+9µs) by Mail::SpamAssassin::PerMsgStatus::BEGIN@35 at line 9
use strict;
# spent 55µs making 1 call to IO::Socket::UNIX::BEGIN@9 # spent 9µs making 1 call to strict::import
10our(@ISA, $VERSION);
11268µs26.77ms
# spent 3.39ms (21µs+3.37) within IO::Socket::UNIX::BEGIN@11 which was called: # once (21µs+3.37ms) by Mail::SpamAssassin::PerMsgStatus::BEGIN@35 at line 11
use IO::Socket;
# spent 3.39ms making 1 call to IO::Socket::UNIX::BEGIN@11 # spent 3.37ms making 1 call to IO::Socket::import
122631µs2297µs
# spent 159µs (22+138) within IO::Socket::UNIX::BEGIN@12 which was called: # once (22µs+138µs) by Mail::SpamAssassin::PerMsgStatus::BEGIN@35 at line 12
use Carp;
# spent 159µs making 1 call to IO::Socket::UNIX::BEGIN@12 # spent 138µs making 1 call to Exporter::import
13
14111µs@ISA = qw(IO::Socket);
1512µs$VERSION = "1.26";
16129µs$VERSION = eval $VERSION;
# spent 5µs executing statements in string eval
17
18110µs110µsIO::Socket::UNIX->register_domain( AF_UNIX );
# spent 10µs making 1 call to IO::Socket::register_domain
19
20sub new {
21 my $class = shift;
22 unshift(@_, "Peer") if @_ == 1;
23 return $class->SUPER::new(@_);
24}
25
26sub configure {
27 my($sock,$arg) = @_;
28 my($bport,$cport);
29
30 my $type = $arg->{Type} || SOCK_STREAM;
31
32 $sock->socket(AF_UNIX, $type, 0) or
33 return undef;
34
35 if(exists $arg->{Local}) {
36 my $addr = sockaddr_un($arg->{Local});
37 $sock->bind($addr) or
38 return undef;
39 }
40 if(exists $arg->{Listen} && $type != SOCK_DGRAM) {
41 $sock->listen($arg->{Listen} || 5) or
42 return undef;
43 }
44 elsif(exists $arg->{Peer}) {
45 my $addr = sockaddr_un($arg->{Peer});
46 $sock->connect($addr) or
47 return undef;
48 }
49
50 $sock;
51}
52
53sub hostpath {
54 @_ == 1 or croak 'usage: $sock->hostpath()';
55 my $n = $_[0]->sockname || return undef;
56 (sockaddr_un($n))[0];
57}
58
59sub peerpath {
60 @_ == 1 or croak 'usage: $sock->peerpath()';
61 my $n = $_[0]->peername || return undef;
62 (sockaddr_un($n))[0];
63}
64
65110µs1; # Keep require happy
66
67__END__