AnyEvent-FDpasser
view release on metacpan or search on metacpan
lib/AnyEvent/FDpasser.pm view on Meta::CPAN
if ($^O eq 'MSWin32') {
die "AnyEvent::FDpasser does not support windows";
} elsif (fdpasser_mode() == 2) {
my $fd = _fdpasser_server($path);
die "unable to _fdpasser_server($path) : $!" if $fd < 0;
open($fh, '+<&=', $fd) || die "couldn't open";
} else {
socket($fh, AF_UNIX, SOCK_STREAM, AF_UNSPEC) || die "Unable to create AF_UNIX socket: $!";
setsockopt($fh, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)) || die "Unable to setsockopt(SO_REUSEADDR): $!";
unlink($path);
bind($fh, Socket::sockaddr_un($path)) || die "Unable to bind AF_UNIX socket to $path : $!";
listen($fh, $backlog) || die "Unable to listen on $path : $!";
}
return $fh;
}
sub fdpasser_accept {
my ($listener_fh) = @_;
my $passer_fh;
( run in 0.998 second using v1.01-cache-2.11-cpan-2398b32b56e )