… | |
… | |
2 | |
2 | |
3 | no warnings; |
3 | no warnings; |
4 | use strict; |
4 | use strict; |
5 | |
5 | |
6 | use AnyEvent (); |
6 | use AnyEvent (); |
7 | use AnyEvent::Util qw(WSAWOULDBLOCK); |
7 | use AnyEvent::Util qw(WSAEWOULDBLOCK); |
8 | use Scalar::Util (); |
8 | use Scalar::Util (); |
9 | use Carp (); |
9 | use Carp (); |
10 | use Fcntl (); |
10 | use Fcntl (); |
11 | use Errno qw/EAGAIN EINTR/; |
11 | use Errno qw/EAGAIN EINTR/; |
12 | |
12 | |
… | |
… | |
321 | $self->{on_drain}($self) |
321 | $self->{on_drain}($self) |
322 | if $self->{low_water_mark} >= length $self->{wbuf} |
322 | if $self->{low_water_mark} >= length $self->{wbuf} |
323 | && $self->{on_drain}; |
323 | && $self->{on_drain}; |
324 | |
324 | |
325 | delete $self->{_ww} unless length $self->{wbuf}; |
325 | delete $self->{_ww} unless length $self->{wbuf}; |
326 | } elsif ($! != EAGAIN && $! != EINTR && $! != WSAWOULDBLOCK) { |
326 | } elsif ($! != EAGAIN && $! != EINTR && $! != WSAEWOULDBLOCK) { |
327 | $self->error; |
327 | $self->error; |
328 | } |
328 | } |
329 | }; |
329 | }; |
330 | |
330 | |
331 | # try to write data immediately |
331 | # try to write data immediately |
… | |
… | |
969 | } elsif (defined $len) { |
969 | } elsif (defined $len) { |
970 | delete $self->{_rw}; |
970 | delete $self->{_rw}; |
971 | $self->{_eof} = 1; |
971 | $self->{_eof} = 1; |
972 | $self->_drain_rbuf; |
972 | $self->_drain_rbuf; |
973 | |
973 | |
974 | } elsif ($! != EAGAIN && $! != EINTR && $! != &AnyEvent::Util::WSAWOULDBLOCK) { |
974 | } elsif ($! != EAGAIN && $! != EINTR && $! != WSAEWOULDBLOCK) { |
975 | return $self->error; |
975 | return $self->error; |
976 | } |
976 | } |
977 | }); |
977 | }); |
978 | } |
978 | } |
979 | } |
979 | } |