diff --git a/lib/tty.js b/lib/tty.js index 72efcd078b2892..ee6c0407f6a135 100644 --- a/lib/tty.js +++ b/lib/tty.js @@ -17,17 +17,23 @@ function ReadStream(fd, options) { if (!(this instanceof ReadStream)) return new ReadStream(fd, options); + // pauseOnCreate to avoid reading from the sytem buffer options = util._extend({ highWaterMark: 0, readable: true, writable: false, - handle: new TTY(fd, true) + handle: new TTY(fd, true), + pauseOnCreate: true }, options); net.Socket.call(this, options); this.isRaw = false; this.isTTY = true; + + // Let the stream resume automatically when 'data' event handlers + // are added, even though it was paused on creation + this._readableState.flowing = null; } inherits(ReadStream, net.Socket);