The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

IO::Async::Loop::UV - use IO::Async with UV

SYNOPSIS

my $loop = IO::Async::Loop::UV->new();
$loop->add( ... );
$loop->add( IO::Async::Signal->new(
name => 'HUP',
on_receipt => sub { ... },
) );
$loop->loop_forever();

DESCRIPTION

This subclass of IO::Async::Loop uses UV to perform its work.

As both UV and the underlying libuv are quite new, this module currently has a few shortcomings and limitations. See the "BUGS" section.

BUGS

  • libuv does not provide a way to inspect the POLLHUP status bit, so some types of file descriptor cannot provide EOF condition. This causes a unit-test failure. (RT#113010)

  • libuv does not provide a way to be informed of any SIGCHLD/waitpid() status. Because of this there is no ability to watch for all processes by

    $loop->watch_process( 0 => sub { ... } );

    Attempts to do this will throw an exception.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>