← Index
NYTProf Performance Profile   « line view »
For /usr/local/libexec/sympa/task_manager-debug.pl
  Run on Tue Jun 1 22:32:51 2021
Reported on Tue Jun 1 22:35:13 2021

Filename/usr/local/lib/perl5/5.32/mach/IO/Socket/UNIX.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0sIO::Socket::UNIX::::BEGIN@10IO::Socket::UNIX::BEGIN@10
0000s0sIO::Socket::UNIX::::BEGIN@11IO::Socket::UNIX::BEGIN@11
0000s0sIO::Socket::UNIX::::BEGIN@9IO::Socket::UNIX::BEGIN@9
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
9use strict;
10use IO::Socket;
11use Carp;
12
13our @ISA = qw(IO::Socket);
14our $VERSION = "1.41";
15
16IO::Socket::UNIX->register_domain( AF_UNIX );
17
18sub new {
19 my $class = shift;
20 unshift(@_, "Peer") if @_ == 1;
21 return $class->SUPER::new(@_);
22}
23
24sub configure {
25 my($sock,$arg) = @_;
26 my($bport,$cport);
27
28 my $type = $arg->{Type} || SOCK_STREAM;
29
30 $sock->socket(AF_UNIX, $type, 0) or
31 return undef;
32
33 if(exists $arg->{Local}) {
34 my $addr = sockaddr_un($arg->{Local});
35 $sock->bind($addr) or
36 return undef;
37 }
38 if(exists $arg->{Listen} && $type != SOCK_DGRAM) {
39 $sock->listen($arg->{Listen} || 5) or
40 return undef;
41 }
42 elsif(exists $arg->{Peer}) {
43 my $addr = sockaddr_un($arg->{Peer});
44 $sock->connect($addr) or
45 return undef;
46 }
47
48 $sock;
49}
50
51sub hostpath {
52 @_ == 1 or croak 'usage: $sock->hostpath()';
53 my $n = $_[0]->sockname || return undef;
54 (sockaddr_un($n))[0];
55}
56
57sub peerpath {
58 @_ == 1 or croak 'usage: $sock->peerpath()';
59 my $n = $_[0]->peername || return undef;
60 (sockaddr_un($n))[0];
61}
62
631; # Keep require happy
64
65__END__