From ba9b8b459f4aab4161c5d9075bf7d0dd165a2e4b Mon Sep 17 00:00:00 2001 From: bmagistro Date: Tue, 12 Sep 2017 07:39:58 -0400 Subject: [PATCH] return eagain if nread is 0 per libuv (#100) Suppress EAGAIN/EWOULDBLOCK equivalents. --- src/uvw/stream.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/uvw/stream.hpp b/src/uvw/stream.hpp index 42743025..6fb0b3c1 100644 --- a/src/uvw/stream.hpp +++ b/src/uvw/stream.hpp @@ -141,6 +141,10 @@ class StreamHandle: public Handle { } else if(nread > 0) { // data available ref.publish(DataEvent{std::move(data), static_cast(nread)}); + } else if(nread == 0) { + // equivalent to EAGAIN/EWOULDBLOCK + // http://docs.libuv.org/en/v1.x/stream.html + // simply catch this condition and do not publish an event } else { // transmission error ref.publish(ErrorEvent(nread));