AnyEvent-Worker
view release on metacpan or search on metacpan
lib/AnyEvent/Worker.pm view on Meta::CPAN
use Fcntl ();
use POSIX ();
our $VERSION = '0.06';
our $FD_MAX = eval { POSIX::sysconf (&POSIX::_SC_OPEN_MAX) - 1 } || 1023;
# Almost fully derived from AnyEvent::DBI
our $WORKER;
sub serve_fh($$) {
my ($fh, $version) = @_;
if ($VERSION != $version) {
syswrite $fh,
pack "L/a*",
Storable::freeze
[undef, __PACKAGE__." version mismatch ($VERSION vs. $version)"];
return;
}
lib/AnyEvent/Worker.pm view on Meta::CPAN
my $wr = syswrite $fh, $wbuf, length($wbuf), $ofs;
defined $wr or $!{EINTR} or die "unable to write results: $!";
$ofs += $wr;
}
}
}
};
warn if $@;
}
sub serve_fd($$) {
open my $fh, ">>&=$_[0]"
or die "Couldn't open server file descriptor: $!";
serve_fh $fh, $_[1];
}
# stupid Storable autoloading, total loss-loss situation
Storable::thaw Storable::freeze [];
=head1 METHODS
( run in 0.812 second using v1.01-cache-2.11-cpan-65fba6d93b7 )