AnyEvent-ITM
view release on metacpan or search on metacpan
lib/AnyEvent/ITM.pm view on Meta::CPAN
# Choose flags so open won't block
my $flags;
if (-p $file) {
$flags = O_RDWR | O_NONBLOCK;
} else {
$flags = O_RDONLY | O_NONBLOCK;
$flags |= O_NOCTTY if -c $file;
}
sysopen(my $fh, $file, $flags) or die "sysopen $file: $!";
binmode($fh, ':raw');
my $handle = AnyEvent::Handle->new(
fh => $fh,
on_error => sub {
my ( $handle, $fatal, $message ) = @_;
$handle->destroy;
$cv->send("$fatal: $message");
},
on_eof => sub {
my ( $handle ) = @_;
( run in 0.727 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )