diff --git a/lib/net_uv.js b/lib/net_uv.js index 4476823873..7a97e46e21 100644 --- a/lib/net_uv.js +++ b/lib/net_uv.js @@ -300,7 +300,7 @@ function onread(buffer, offset, length) { // Optimization: emit the original buffer with end points if (self.ondata) self.ondata(buffer, offset, end); - } else { + } else if (errno == 'EOF') { // EOF self.readable = false; @@ -314,6 +314,9 @@ function onread(buffer, offset, length) { if (!self.allowHalfOpen) self.end(); if (self._events && self._events['end']) self.emit('end'); if (self.onend) self.onend(); + } else { + // Error + self.destroy(errnoException(errno, 'read')); } }