This is an automated email from the git hooks/post-receive script.

gregoa pushed a commit to branch master
in repository libio-async-perl.

commit 566fba1b28084dc4c28a4c5d6a526abdf341c0e2
Author: gregor herrmann <gre...@debian.org>
Date:   Mon Dec 21 20:50:04 2015 +0100

    Imported Upstream version 0.70
---
 Build.PL                            |  6 +---
 Changes                             |  5 +++
 META.json                           | 72 ++++++++++++++++++-------------------
 META.yml                            | 72 ++++++++++++++++++-------------------
 Makefile.PL                         |  2 +-
 lib/IO/Async.pm                     |  2 +-
 lib/IO/Async/Channel.pm             |  4 +--
 lib/IO/Async/ChildManager.pm        |  2 +-
 lib/IO/Async/Debug.pm               |  4 +--
 lib/IO/Async/File.pm                |  7 ++--
 lib/IO/Async/FileStream.pm          |  8 +++--
 lib/IO/Async/Function.pm            |  2 +-
 lib/IO/Async/Future.pm              |  2 +-
 lib/IO/Async/Handle.pm              |  2 +-
 lib/IO/Async/Internals/Connector.pm |  2 +-
 lib/IO/Async/Listener.pm            |  2 +-
 lib/IO/Async/Loop.pm                |  5 ++-
 lib/IO/Async/Loop/Poll.pm           | 27 +++++++++-----
 lib/IO/Async/Loop/Select.pm         |  2 +-
 lib/IO/Async/LoopTests.pm           |  2 +-
 lib/IO/Async/Notifier.pm            |  2 +-
 lib/IO/Async/OS.pm                  |  2 +-
 lib/IO/Async/OS/MSWin32.pm          |  2 +-
 lib/IO/Async/OS/cygwin.pm           |  2 +-
 lib/IO/Async/OS/linux.pm            |  2 +-
 lib/IO/Async/PID.pm                 |  2 +-
 lib/IO/Async/Process.pm             |  2 +-
 lib/IO/Async/Protocol.pm            |  2 +-
 lib/IO/Async/Protocol/LineStream.pm |  2 +-
 lib/IO/Async/Protocol/Stream.pm     |  2 +-
 lib/IO/Async/Resolver.pm            |  5 ++-
 lib/IO/Async/Routine.pm             |  2 +-
 lib/IO/Async/Signal.pm              |  2 +-
 lib/IO/Async/Socket.pm              |  2 +-
 lib/IO/Async/Stream.pm              | 15 +++++---
 lib/IO/Async/Test.pm                |  2 +-
 lib/IO/Async/Timer.pm               |  2 +-
 lib/IO/Async/Timer/Absolute.pm      |  2 +-
 lib/IO/Async/Timer/Countdown.pm     |  2 +-
 lib/IO/Async/Timer/Periodic.pm      |  2 +-
 40 files changed, 150 insertions(+), 136 deletions(-)

diff --git a/Build.PL b/Build.PL
index 5428093..2d3b5e2 100644
--- a/Build.PL
+++ b/Build.PL
@@ -17,11 +17,7 @@ my $build = Module::Build->new(
       'Time::HiRes' => 0,
 
       # Fails on perl 5.8.3 for unknown reasons
-      #   https://rt.cpan.org/Ticket/Display.html?id=64493
-      # Now 5.16 is stable, I see even less reason to worry about such an old 
Perl
-
-      # Furthermore we've started using 5.10'isms
-      'perl' => '5.010',
+      'perl' => '5.008004',
    },
    recommends => {
       'IO::Socket::IP' => 0,
diff --git a/Changes b/Changes
index 180d2b3..6a2e8d6 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,10 @@
 Revision history for IO-Async
 
+0.70    2015/12/15 18:17:43
+        [CHANGES]
+         * Support perl 5.8.x (tested on 5.8.9, presumed working as far as
+           5.8.4)
+
 0.69    2015/11/09 19:56:58
         [CHANGES]
          * Use Future->catch instead of poorly-implemented string-eq test
diff --git a/META.json b/META.json
index ad1d714..e6d7a88 100644
--- a/META.json
+++ b/META.json
@@ -33,7 +33,7 @@
             "Storable" : "0",
             "Struct::Dumb" : "0",
             "Time::HiRes" : "0",
-            "perl" : "5.010"
+            "perl" : "5.008004"
          }
       },
       "test" : {
@@ -49,139 +49,139 @@
    "provides" : {
       "IO::Async" : {
          "file" : "lib/IO/Async.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Channel" : {
          "file" : "lib/IO/Async/Channel.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::ChildManager" : {
          "file" : "lib/IO/Async/ChildManager.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Debug" : {
          "file" : "lib/IO/Async/Debug.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::File" : {
          "file" : "lib/IO/Async/File.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::FileStream" : {
          "file" : "lib/IO/Async/FileStream.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Function" : {
          "file" : "lib/IO/Async/Function.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Future" : {
          "file" : "lib/IO/Async/Future.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Handle" : {
          "file" : "lib/IO/Async/Handle.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Listener" : {
          "file" : "lib/IO/Async/Listener.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Loop" : {
          "file" : "lib/IO/Async/Loop.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Loop::Poll" : {
          "file" : "lib/IO/Async/Loop/Poll.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Loop::Select" : {
          "file" : "lib/IO/Async/Loop/Select.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::LoopTests" : {
          "file" : "lib/IO/Async/LoopTests.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Notifier" : {
          "file" : "lib/IO/Async/Notifier.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::OS" : {
          "file" : "lib/IO/Async/OS.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::OS::MSWin32" : {
          "file" : "lib/IO/Async/OS/MSWin32.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::OS::cygwin" : {
          "file" : "lib/IO/Async/OS/cygwin.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::OS::linux" : {
          "file" : "lib/IO/Async/OS/linux.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::PID" : {
          "file" : "lib/IO/Async/PID.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Process" : {
          "file" : "lib/IO/Async/Process.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Protocol" : {
          "file" : "lib/IO/Async/Protocol.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Protocol::LineStream" : {
          "file" : "lib/IO/Async/Protocol/LineStream.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Protocol::Stream" : {
          "file" : "lib/IO/Async/Protocol/Stream.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Resolver" : {
          "file" : "lib/IO/Async/Resolver.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Routine" : {
          "file" : "lib/IO/Async/Routine.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Signal" : {
          "file" : "lib/IO/Async/Signal.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Socket" : {
          "file" : "lib/IO/Async/Socket.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Stream" : {
          "file" : "lib/IO/Async/Stream.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Test" : {
          "file" : "lib/IO/Async/Test.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Timer" : {
          "file" : "lib/IO/Async/Timer.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Timer::Absolute" : {
          "file" : "lib/IO/Async/Timer/Absolute.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Timer::Countdown" : {
          "file" : "lib/IO/Async/Timer/Countdown.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       },
       "IO::Async::Timer::Periodic" : {
          "file" : "lib/IO/Async/Timer/Periodic.pm",
-         "version" : "0.69"
+         "version" : "0.70"
       }
    },
    "release_status" : "stable",
@@ -191,5 +191,5 @@
       ],
       "x_IRC" : "irc://irc.perl.org/#io-async"
    },
-   "version" : "0.69"
+   "version" : "0.70"
 }
diff --git a/META.yml b/META.yml
index 6c86ceb..b68286a 100644
--- a/META.yml
+++ b/META.yml
@@ -20,106 +20,106 @@ name: IO-Async
 provides:
   IO::Async:
     file: lib/IO/Async.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Channel:
     file: lib/IO/Async/Channel.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::ChildManager:
     file: lib/IO/Async/ChildManager.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Debug:
     file: lib/IO/Async/Debug.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::File:
     file: lib/IO/Async/File.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::FileStream:
     file: lib/IO/Async/FileStream.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Function:
     file: lib/IO/Async/Function.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Future:
     file: lib/IO/Async/Future.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Handle:
     file: lib/IO/Async/Handle.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Listener:
     file: lib/IO/Async/Listener.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Loop:
     file: lib/IO/Async/Loop.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Loop::Poll:
     file: lib/IO/Async/Loop/Poll.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Loop::Select:
     file: lib/IO/Async/Loop/Select.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::LoopTests:
     file: lib/IO/Async/LoopTests.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Notifier:
     file: lib/IO/Async/Notifier.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::OS:
     file: lib/IO/Async/OS.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::OS::MSWin32:
     file: lib/IO/Async/OS/MSWin32.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::OS::cygwin:
     file: lib/IO/Async/OS/cygwin.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::OS::linux:
     file: lib/IO/Async/OS/linux.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::PID:
     file: lib/IO/Async/PID.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Process:
     file: lib/IO/Async/Process.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Protocol:
     file: lib/IO/Async/Protocol.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Protocol::LineStream:
     file: lib/IO/Async/Protocol/LineStream.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Protocol::Stream:
     file: lib/IO/Async/Protocol/Stream.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Resolver:
     file: lib/IO/Async/Resolver.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Routine:
     file: lib/IO/Async/Routine.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Signal:
     file: lib/IO/Async/Signal.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Socket:
     file: lib/IO/Async/Socket.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Stream:
     file: lib/IO/Async/Stream.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Test:
     file: lib/IO/Async/Test.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Timer:
     file: lib/IO/Async/Timer.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Timer::Absolute:
     file: lib/IO/Async/Timer/Absolute.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Timer::Countdown:
     file: lib/IO/Async/Timer/Countdown.pm
-    version: '0.69'
+    version: '0.70'
   IO::Async::Timer::Periodic:
     file: lib/IO/Async/Timer/Periodic.pm
-    version: '0.69'
+    version: '0.70'
 recommends:
   IO::Socket::IP: '0'
 requires:
@@ -132,8 +132,8 @@ requires:
   Storable: '0'
   Struct::Dumb: '0'
   Time::HiRes: '0'
-  perl: '5.010'
+  perl: '5.008004'
 resources:
   IRC: irc://irc.perl.org/#io-async
   license: http://dev.perl.org/licenses/
-version: '0.69'
+version: '0.70'
diff --git a/Makefile.PL b/Makefile.PL
index f9425f2..c5483cd 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,5 +1,5 @@
 # Note: this file was auto-generated by Module::Build::Compat version 0.4211
-require 5.010;
+require 5.008004;
 use ExtUtils::MakeMaker;
 WriteMakefile
 (
diff --git a/lib/IO/Async.pm b/lib/IO/Async.pm
index 275d2f1..28031d7 100644
--- a/lib/IO/Async.pm
+++ b/lib/IO/Async.pm
@@ -12,7 +12,7 @@ use warnings;
 # It is provided simply to keep CPAN happy:
 #   cpan -i IO::Async
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 =head1 NAME
 
diff --git a/lib/IO/Async/Channel.pm b/lib/IO/Async/Channel.pm
index cc45f5b..600b7f6 100644
--- a/lib/IO/Async/Channel.pm
+++ b/lib/IO/Async/Channel.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Notifier );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 
@@ -127,7 +127,7 @@ sub _init
    my $self = shift;
    my ( $params ) = @_;
 
-   $params->{codec} //= "Storable";
+   defined $params->{codec} or $params->{codec} = "Storable";
 
    $self->SUPER::_init( $params );
 }
diff --git a/lib/IO/Async/ChildManager.pm b/lib/IO/Async/ChildManager.pm
index cfd4811..4fcf7f1 100644
--- a/lib/IO/Async/ChildManager.pm
+++ b/lib/IO/Async/ChildManager.pm
@@ -8,7 +8,7 @@ package IO::Async::ChildManager;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 # Not a notifier
 
diff --git a/lib/IO/Async/Debug.pm b/lib/IO/Async/Debug.pm
index 80e79db..d673e30 100644
--- a/lib/IO/Async/Debug.pm
+++ b/lib/IO/Async/Debug.pm
@@ -8,13 +8,13 @@ package IO::Async::Debug;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 our $DEBUG = $ENV{IO_ASYNC_DEBUG} || 0;
 our $DEBUG_FD   = $ENV{IO_ASYNC_DEBUG_FD};
 our $DEBUG_FILE = $ENV{IO_ASYNC_DEBUG_FILE};
 our $DEBUG_FH;
-our %DEBUG_FLAGS = map { $_ => 1 } split m/,/, $ENV{IO_ASYNC_DEBUG_FLAGS} // 
"";
+our %DEBUG_FLAGS = map { $_ => 1 } split m/,/, $ENV{IO_ASYNC_DEBUG_FLAGS} || 
"";
 
 =head1 NAME
 
diff --git a/lib/IO/Async/File.pm b/lib/IO/Async/File.pm
index b56b0b5..f64fe77 100644
--- a/lib/IO/Async/File.pm
+++ b/lib/IO/Async/File.pm
@@ -1,15 +1,14 @@
 #  You may distribute under the terms of either the GNU General Public License
 #  or the Artistic License (the same terms as Perl itself)
 #
-#  (C) Paul Evans, 2012 -- leon...@leonerd.org.uk
+#  (C) Paul Evans, 2012-2015 -- leon...@leonerd.org.uk
 
 package IO::Async::File;
 
-use 5.010; # //
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Timer::Periodic );
 
@@ -172,7 +171,7 @@ sub on_tick
    my $self = shift;
 
    my $old = $self->{last_stat};
-   my $new = stat( $self->{filename} // $self->{handle} );
+   my $new = stat( defined $self->{filename} ? $self->{filename} : 
$self->{handle} );
 
    my $any_changed;
    foreach my $stat ( @STATS ) {
diff --git a/lib/IO/Async/FileStream.pm b/lib/IO/Async/FileStream.pm
index b1c960c..cc1ffc2 100644
--- a/lib/IO/Async/FileStream.pm
+++ b/lib/IO/Async/FileStream.pm
@@ -1,14 +1,14 @@
 #  You may distribute under the terms of either the GNU General Public License
 #  or the Artistic License (the same terms as Perl itself)
 #
-#  (C) Paul Evans, 2011-2012 -- leon...@leonerd.org.uk
+#  (C) Paul Evans, 2011-2015 -- leon...@leonerd.org.uk
 
 package IO::Async::FileStream;
 
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Stream );
 
@@ -164,7 +164,9 @@ sub configure
       $params{read_handle} = $self->{file}->handle;
    }
    elsif( exists $params{handle} or exists $params{read_handle} ) {
-      my $handle = delete $params{handle} // delete $params{read_handle};
+      my $handle = delete $params{handle};
+      defined $handle or $handle = delete $params{read_handle};
+
       $self->{file}->configure( handle => $handle );
       $params{read_handle} = $self->{file}->handle;
    }
diff --git a/lib/IO/Async/Function.pm b/lib/IO/Async/Function.pm
index 132d5d6..2695e31 100644
--- a/lib/IO/Async/Function.pm
+++ b/lib/IO/Async/Function.pm
@@ -8,7 +8,7 @@ package IO::Async::Function;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Notifier );
 use IO::Async::Timer::Countdown;
diff --git a/lib/IO/Async/Future.pm b/lib/IO/Async/Future.pm
index 978dc9c..a245157 100644
--- a/lib/IO/Async/Future.pm
+++ b/lib/IO/Async/Future.pm
@@ -8,7 +8,7 @@ package IO::Async::Future;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( Future );
 Future->VERSION( '0.05' ); # to respect subclassing
diff --git a/lib/IO/Async/Handle.pm b/lib/IO/Async/Handle.pm
index cbc4d0b..e35b4bd 100644
--- a/lib/IO/Async/Handle.pm
+++ b/lib/IO/Async/Handle.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Notifier );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 
diff --git a/lib/IO/Async/Internals/Connector.pm 
b/lib/IO/Async/Internals/Connector.pm
index ca20b41..7ee290d 100644
--- a/lib/IO/Async/Internals/Connector.pm
+++ b/lib/IO/Async/Internals/Connector.pm
@@ -9,7 +9,7 @@ package # hide from CPAN
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Scalar::Util qw( weaken );
 
diff --git a/lib/IO/Async/Listener.pm b/lib/IO/Async/Listener.pm
index 5e92eb0..b346e36 100644
--- a/lib/IO/Async/Listener.pm
+++ b/lib/IO/Async/Listener.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Handle );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use IO::Async::Handle;
 use IO::Async::OS;
diff --git a/lib/IO/Async/Loop.pm b/lib/IO/Async/Loop.pm
index 04af1f9..984f668 100644
--- a/lib/IO/Async/Loop.pm
+++ b/lib/IO/Async/Loop.pm
@@ -7,9 +7,8 @@ package IO::Async::Loop;
 
 use strict;
 use warnings;
-use 5.010;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 # When editing this value don't forget to update the docs below
 use constant NEED_API_VERSION => '0.33';
@@ -79,7 +78,7 @@ $SIG{ALRM} = sub {
    }
 } if WATCHDOG_ENABLE;
 
-$SIG{PIPE} = "IGNORE" if ( $SIG{PIPE} // "" ) eq "DEFAULT";
+$SIG{PIPE} = "IGNORE" if ( $SIG{PIPE} || "" ) eq "DEFAULT";
 
 =head1 NAME
 
diff --git a/lib/IO/Async/Loop/Poll.pm b/lib/IO/Async/Loop/Poll.pm
index b48adf0..9558def 100644
--- a/lib/IO/Async/Loop/Poll.pm
+++ b/lib/IO/Async/Loop/Poll.pm
@@ -8,7 +8,7 @@ package IO::Async::Loop::Poll;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 use constant API_VERSION => '0.49';
 
 use base qw( IO::Async::Loop );
@@ -251,17 +251,26 @@ sub loop_once
       return $self->post_poll;
    }
    else {
-      my $msec = defined $timeout ? $timeout * 1000 : -1;
       my @pollmasks = %{ $self->{pollmask} };
 
-      my $pollret = IO::Poll::_poll( $msec, @pollmasks );
-      if( $pollret == -1 and $! == EINTR or
-          $pollret == 0 and $self->{sigproxy} ) {
-         local $!;
+      # Perl 5.8.x's IO::Poll::_poll gets confused with no masks
+      my $pollret;
+      if( @pollmasks ) {
+         my $msec = defined $timeout ? $timeout * 1000 : -1;
+         $pollret = IO::Poll::_poll( $msec, @pollmasks );
+         if( $pollret == -1 and $! == EINTR or
+             $pollret == 0 and $self->{sigproxy} ) {
+            local $!;
+
+            @pollmasks = %{ $self->{pollmask} };
+            my $secondattempt = IO::Poll::_poll( $msec, @pollmasks );
+            $pollret = $secondattempt if $secondattempt > 0;
+         }
 
-         @pollmasks = %{ $self->{pollmask} };
-         my $secondattempt = IO::Poll::_poll( $msec, @pollmasks );
-         $pollret = $secondattempt if $secondattempt > 0;
+      }
+      else {
+         # Workaround - we'll use select to fake a millisecond-accurate sleep
+         $pollret = select( undef, undef, undef, $timeout );
       }
 
       return undef unless defined $pollret;
diff --git a/lib/IO/Async/Loop/Select.pm b/lib/IO/Async/Loop/Select.pm
index 3087165..ee8eabb 100644
--- a/lib/IO/Async/Loop/Select.pm
+++ b/lib/IO/Async/Loop/Select.pm
@@ -8,7 +8,7 @@ package IO::Async::Loop::Select;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 use constant API_VERSION => '0.49';
 
 use base qw( IO::Async::Loop );
diff --git a/lib/IO/Async/LoopTests.pm b/lib/IO/Async/LoopTests.pm
index 7834e19..784ba3c 100644
--- a/lib/IO/Async/LoopTests.pm
+++ b/lib/IO/Async/LoopTests.pm
@@ -27,7 +27,7 @@ use POSIX qw( SIGTERM );
 use Socket qw( sockaddr_family AF_UNIX );
 use Time::HiRes qw( time );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 # Abstract Units of Time
 use constant AUT => $ENV{TEST_QUICK_TIMERS} ? 0.1 : 1;
diff --git a/lib/IO/Async/Notifier.pm b/lib/IO/Async/Notifier.pm
index 7e0510d..2e756b4 100644
--- a/lib/IO/Async/Notifier.pm
+++ b/lib/IO/Async/Notifier.pm
@@ -8,7 +8,7 @@ package IO::Async::Notifier;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 use Scalar::Util qw( weaken );
diff --git a/lib/IO/Async/OS.pm b/lib/IO/Async/OS.pm
index ca3a999..96325ed 100644
--- a/lib/IO/Async/OS.pm
+++ b/lib/IO/Async/OS.pm
@@ -8,7 +8,7 @@ package IO::Async::OS;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 our @ISA = qw( IO::Async::OS::_Base );
 
diff --git a/lib/IO/Async/OS/MSWin32.pm b/lib/IO/Async/OS/MSWin32.pm
index de2c133..2f6782f 100644
--- a/lib/IO/Async/OS/MSWin32.pm
+++ b/lib/IO/Async/OS/MSWin32.pm
@@ -8,7 +8,7 @@ package IO::Async::OS::MSWin32;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 our @ISA = qw( IO::Async::OS::_Base );
 
diff --git a/lib/IO/Async/OS/cygwin.pm b/lib/IO/Async/OS/cygwin.pm
index e83dd19..4d84cb5 100644
--- a/lib/IO/Async/OS/cygwin.pm
+++ b/lib/IO/Async/OS/cygwin.pm
@@ -8,7 +8,7 @@ package IO::Async::OS::cygwin;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 our @ISA = qw( IO::Async::OS::_Base );
 
diff --git a/lib/IO/Async/OS/linux.pm b/lib/IO/Async/OS/linux.pm
index 582fa50..1b2c1a0 100644
--- a/lib/IO/Async/OS/linux.pm
+++ b/lib/IO/Async/OS/linux.pm
@@ -8,7 +8,7 @@ package IO::Async::OS::linux;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 our @ISA = qw( IO::Async::OS::_Base );
 
diff --git a/lib/IO/Async/PID.pm b/lib/IO/Async/PID.pm
index 06a8fb3..2642750 100644
--- a/lib/IO/Async/PID.pm
+++ b/lib/IO/Async/PID.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Notifier );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 
diff --git a/lib/IO/Async/Process.pm b/lib/IO/Async/Process.pm
index da2baaa..3453501 100644
--- a/lib/IO/Async/Process.pm
+++ b/lib/IO/Async/Process.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Notifier );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 
diff --git a/lib/IO/Async/Protocol.pm b/lib/IO/Async/Protocol.pm
index 3f2e266..9e4dbbf 100644
--- a/lib/IO/Async/Protocol.pm
+++ b/lib/IO/Async/Protocol.pm
@@ -8,7 +8,7 @@ package IO::Async::Protocol;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Notifier );
 
diff --git a/lib/IO/Async/Protocol/LineStream.pm 
b/lib/IO/Async/Protocol/LineStream.pm
index 1757bf0..300b6d7 100644
--- a/lib/IO/Async/Protocol/LineStream.pm
+++ b/lib/IO/Async/Protocol/LineStream.pm
@@ -8,7 +8,7 @@ package IO::Async::Protocol::LineStream;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Protocol::Stream );
 
diff --git a/lib/IO/Async/Protocol/Stream.pm b/lib/IO/Async/Protocol/Stream.pm
index 6f92d9a..21f00b5 100644
--- a/lib/IO/Async/Protocol/Stream.pm
+++ b/lib/IO/Async/Protocol/Stream.pm
@@ -8,7 +8,7 @@ package IO::Async::Protocol::Stream;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Protocol );
 
diff --git a/lib/IO/Async/Resolver.pm b/lib/IO/Async/Resolver.pm
index cd52866..dc65327 100644
--- a/lib/IO/Async/Resolver.pm
+++ b/lib/IO/Async/Resolver.pm
@@ -7,10 +7,9 @@ package IO::Async::Resolver;
 
 use strict;
 use warnings;
-use 5.010;
 use base qw( IO::Async::Function );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 # Socket 2.006 fails to getaddrinfo() AI_NUMERICHOST properly on MSWin32
 use Socket 2.007 qw(
@@ -324,7 +323,7 @@ sub getaddrinfo
       croak "Expected 'on_error' or to return a Future";
 
    my $host    = $args{host}    || "";
-   my $service = $args{service} // "";
+   my $service = $args{service}; defined $service or $service = "";
    my $flags   = $args{flags}   || 0;
 
    $flags |= AI_PASSIVE if $args{passive};
diff --git a/lib/IO/Async/Routine.pm b/lib/IO/Async/Routine.pm
index f21ed68..abd032c 100644
--- a/lib/IO/Async/Routine.pm
+++ b/lib/IO/Async/Routine.pm
@@ -8,7 +8,7 @@ package IO::Async::Routine;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Notifier );
 
diff --git a/lib/IO/Async/Signal.pm b/lib/IO/Async/Signal.pm
index 67fec62..22362b8 100644
--- a/lib/IO/Async/Signal.pm
+++ b/lib/IO/Async/Signal.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Notifier );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 
diff --git a/lib/IO/Async/Socket.pm b/lib/IO/Async/Socket.pm
index 0fba56d..8a9e2fb 100644
--- a/lib/IO/Async/Socket.pm
+++ b/lib/IO/Async/Socket.pm
@@ -8,7 +8,7 @@ package IO::Async::Socket;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Handle );
 
diff --git a/lib/IO/Async/Stream.pm b/lib/IO/Async/Stream.pm
index b437ba4..702618b 100644
--- a/lib/IO/Async/Stream.pm
+++ b/lib/IO/Async/Stream.pm
@@ -7,9 +7,8 @@ package IO::Async::Stream;
 
 use strict;
 use warnings;
-use 5.010; # //
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use base qw( IO::Async::Handle );
 
@@ -389,8 +388,11 @@ sub configure
    }
 
    if( exists $params{read_high_watermark} or exists 
$params{read_low_watermark} ) {
-      my $high = delete $params{read_high_watermark} // 
$self->{read_high_watermark};
-      my $low  = delete $params{read_low_watermark}  // 
$self->{read_low_watermark};
+      my $high = delete $params{read_high_watermark};
+      defined $high or $high = $self->{read_high_watermark};
+
+      my $low  = delete $params{read_low_watermark};
+      defined $low  or $low  = $self->{read_low_watermark};
 
       croak "Cannot set read_low_watermark without read_high_watermark" if 
defined $low and !defined $high;
       croak "Cannot set read_high_watermark without read_low_watermark" if 
defined $high and !defined $low;
@@ -875,8 +877,11 @@ sub write
       };
    }
 
+   my $write_len = $params{write_len};
+   defined $write_len or $write_len = $self->{write_len};
+
    push @{ $self->{writequeue} }, Writer(
-      $data, $params{write_len} // $self->{write_len}, $on_write, $on_flush, 
$on_error, 0
+      $data, $write_len, $on_write, $on_flush, $on_error, 0
    );
 
    keys %params and croak "Unrecognised keys for ->write - " . join( ", ", 
keys %params );
diff --git a/lib/IO/Async/Test.pm b/lib/IO/Async/Test.pm
index aae34e0..142fdbd 100644
--- a/lib/IO/Async/Test.pm
+++ b/lib/IO/Async/Test.pm
@@ -8,7 +8,7 @@ package IO::Async::Test;
 use strict;
 use warnings;
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Exporter 'import';
 our @EXPORT = qw(
diff --git a/lib/IO/Async/Timer.pm b/lib/IO/Async/Timer.pm
index baa16a3..c70dffe 100644
--- a/lib/IO/Async/Timer.pm
+++ b/lib/IO/Async/Timer.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Notifier );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 
diff --git a/lib/IO/Async/Timer/Absolute.pm b/lib/IO/Async/Timer/Absolute.pm
index 673a099..bf1c088 100644
--- a/lib/IO/Async/Timer/Absolute.pm
+++ b/lib/IO/Async/Timer/Absolute.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Timer );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 
diff --git a/lib/IO/Async/Timer/Countdown.pm b/lib/IO/Async/Timer/Countdown.pm
index 84b4929..73b8d56 100644
--- a/lib/IO/Async/Timer/Countdown.pm
+++ b/lib/IO/Async/Timer/Countdown.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Timer );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 
diff --git a/lib/IO/Async/Timer/Periodic.pm b/lib/IO/Async/Timer/Periodic.pm
index 6fda0c7..105212d 100644
--- a/lib/IO/Async/Timer/Periodic.pm
+++ b/lib/IO/Async/Timer/Periodic.pm
@@ -9,7 +9,7 @@ use strict;
 use warnings;
 use base qw( IO::Async::Timer );
 
-our $VERSION = '0.69';
+our $VERSION = '0.70';
 
 use Carp;
 

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/libio-async-perl.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to