net_uv: handle read errors
authorRyan Dahl <ry@tinyclouds.org>
Mon, 22 Aug 2011 22:03:27 +0000 (15:03 -0700)
committerRyan Dahl <ry@tinyclouds.org>
Mon, 22 Aug 2011 22:03:27 +0000 (15:03 -0700)
lib/net_uv.js

index 4476823..7a97e46 100644 (file)
@@ -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'));
   }
 }