NAME
    `IO::Async::Loop::UV' - use `IO::Async' with `UV'

SYNOPSIS
     use IO::Async::Loop::UV;

     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 `POLLUP' status bit, so
      some types of file descriptor cannot provide EOF condition. This
      causes a unit-test failure.

    * libuv attempts to invoke a close callback when closing watch handles,
      even if one is not defined. This causes the next `UV::run_once()' call
      after a handle has been closed to always return immediately. This
      should not cause a problem in practice, but does cause a unit-test
      failure.

    * UV does not wrap signal or child-process watch abilities of libuv, so
      these are currently emulated by the Loop's built-in signal-pipe
      mechanism. Because of this, signal or child-process watching cannot be
      shared by both `IO::Async' and `UV'-using code at the same time.

AUTHOR
    Paul Evans <leonerd@leonerd.org.uk>

