IPC-MPS
view release on metacpan or search on metacpan
my $need_reset = 0;
my $blksize = 1024 * 16;
END {
$ipc_loop or @spawn and carp "Probably have forgotten to call receive.";
close $_ foreach values %fh2fh;
}
sub spawn(&) {
my ($spawn) = @_;
socketpair(my $child, my $parent, AF_UNIX, SOCK_STREAM|SOCK_NONBLOCK, PF_UNSPEC) or die "socketpair: $!";
my $vpid = refaddr $child;
push @spawn, [$vpid, $child, $parent, $spawn];
return $vpid;
}
sub msg($$) {
my ($msg, $sub) = @_;
$pack{$fh} = $pack;
$unpack{$fh} = $unpack;
} elsif ($args{pack} or $args{unpack}) {
carp "pack and unpack is pair options";
return;
}
return 1;
}
sub receive(&) {
my ($receive) = @_;
$DEBUG > 1 and print "Call receive in $self_vpid (\$\$=$$)\n";
local $SIG{CHLD} = "IGNORE";
local $SIG{PIPE} = "IGNORE";
foreach (@spawn) {
my ($vpid, $child, $parent, $spawn) = @$_;
IPC/MPS/EV.pm view on Meta::CPAN
my ($waited_vpid, $waited_msg, @waited_rv);
my $blksize = 1024 * 16;
END {
$ipc_loop or @spawn and carp "Probably have forgotten to call receive.";
close $_ foreach values %fh2fh;
}
sub spawn(&) {
my ($spawn) = @_;
socketpair(my $child, my $parent, AF_UNIX, SOCK_STREAM|SOCK_NONBLOCK, PF_UNSPEC) or die "socketpair: $!";
my $vpid = refaddr $child;
push @spawn, [$vpid, $child, $parent, $spawn];
return $vpid;
}
sub msg($$) {
my ($msg, $sub) = @_;
IPC/MPS/EV.pm view on Meta::CPAN
$pack{$fh} = $pack;
$unpack{$fh} = $unpack;
} elsif ($args{pack} or $args{unpack}) {
carp "pack and unpack is pair options";
return;
}
return 1;
}
sub receive(&) {
my ($receive) = @_;
$DEBUG > 1 and print "Call receive in $self_vpid (\$\$=$$)\n";
local $SIG{CHLD} = "IGNORE";
local $SIG{PIPE} = "IGNORE";
foreach (@spawn) {
my ($vpid, $child, $parent, $spawn) = @$_;
IPC/MPS/Event.pm view on Meta::CPAN
my ($waited_vpid, $waited_msg, @waited_rv);
my $blksize = 1024 * 16;
END {
$ipc_loop or @spawn and carp "Probably have forgotten to call receive.";
close $_ foreach values %fh2fh;
}
sub spawn(&) {
my ($spawn) = @_;
socketpair(my $child, my $parent, AF_UNIX, SOCK_STREAM|SOCK_NONBLOCK, PF_UNSPEC) or die "socketpair: $!";
my $vpid = refaddr $child;
push @spawn, [$vpid, $child, $parent, $spawn];
return $vpid;
}
sub msg($$) {
my ($msg, $sub) = @_;
IPC/MPS/Event.pm view on Meta::CPAN
$pack{$fh} = $pack;
$unpack{$fh} = $unpack;
} elsif ($args{pack} or $args{unpack}) {
carp "pack and unpack is pair options";
return;
}
return 1;
}
sub receive(&) {
my ($receive) = @_;
$DEBUG > 1 and print "Call receive in $self_vpid (\$\$=$$)\n";
local $SIG{CHLD} = "IGNORE";
local $SIG{PIPE} = "IGNORE";
foreach (@spawn) {
my ($vpid, $child, $parent, $spawn) = @$_;
( run in 0.307 second using v1.01-cache-2.11-cpan-49f99fa48dc )