--- AnyEvent/lib/AnyEvent/Handle.pm 2014/12/10 04:29:33 1.242 +++ AnyEvent/lib/AnyEvent/Handle.pm 2015/03/16 08:15:46 1.243 @@ -55,7 +55,7 @@ use Scalar::Util (); use List::Util (); use Carp (); -use Errno qw(EAGAIN EINTR); +use Errno qw(EAGAIN EWOULDBLOCK EINTR); use AnyEvent (); BEGIN { AnyEvent::common_sense } use AnyEvent::Util qw(WSAEWOULDBLOCK); @@ -973,7 +973,7 @@ && $self->{on_drain}; delete $self->{_ww} unless length $self->{wbuf}; - } elsif ($! != EAGAIN && $! != EINTR && $! != WSAEWOULDBLOCK) { + } elsif ($! != EAGAIN && $! != EINTR && $! != EWOULDBLOCK && $! != WSAEWOULDBLOCK) { $self->_error ($!, 1); } }; @@ -2040,7 +2040,7 @@ $self->{_eof} = 1; $self->_drain_rbuf; - } elsif ($! != EAGAIN && $! != EINTR && $! != WSAEWOULDBLOCK) { + } elsif ($! != EAGAIN && $! != EINTR && $! != EWOULDBLOCK && $! != WSAEWOULDBLOCK) { return $self->_error ($!, 1); } }; @@ -2306,7 +2306,7 @@ if ($len > 0) { substr $wbuf, 0, $len, ""; - } elsif (defined $len || ($! != EAGAIN && $! != EINTR && $! != WSAEWOULDBLOCK)) { + } elsif (defined $len || ($! != EAGAIN && $! != EINTR && $! != EWOULDBLOCK && $! != WSAEWOULDBLOCK)) { @linger = (); # end } };