diff options
author | Matteo Collina <hello@matteocollina.com> | 2019-02-15 17:19:38 +0100 |
---|---|---|
committer | Matteo Collina <hello@matteocollina.com> | 2019-02-28 16:12:26 +0100 |
commit | cd302d70ddd0d1c249a7242ef7eb1b90bf8eb0de (patch) | |
tree | 602bd5550ee82467ed98a55e291df66c27a44991 /lib/_stream_readable.js | |
parent | 0d64a560121e7420df9df7c2b5a7e162c4ef307b (diff) | |
download | android-node-v8-cd302d70ddd0d1c249a7242ef7eb1b90bf8eb0de.tar.gz android-node-v8-cd302d70ddd0d1c249a7242ef7eb1b90bf8eb0de.tar.bz2 android-node-v8-cd302d70ddd0d1c249a7242ef7eb1b90bf8eb0de.zip |
stream: make _read() be called indefinitely if the user wants so
Fixes: https://github.com/nodejs/node/issues/26097
PR-URL: https://github.com/nodejs/node/pull/26135
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'lib/_stream_readable.js')
-rw-r--r-- | lib/_stream_readable.js | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js index 8db8848ba1..1fe5e0573d 100644 --- a/lib/_stream_readable.js +++ b/lib/_stream_readable.js @@ -495,6 +495,7 @@ Readable.prototype.read = function(n) { }; function onEofChunk(stream, state) { + debug('onEofChunk'); if (state.ended) return; if (state.decoder) { var chunk = state.decoder.end(); @@ -525,6 +526,7 @@ function onEofChunk(stream, state) { // a nextTick recursion warning, but that's not so bad. function emitReadable(stream) { var state = stream._readableState; + debug('emitReadable', state.needReadable, state.emittedReadable); state.needReadable = false; if (!state.emittedReadable) { debug('emitReadable', state.flowing); @@ -538,6 +540,7 @@ function emitReadable_(stream) { debug('emitReadable_', state.destroyed, state.length, state.ended); if (!state.destroyed && (state.length || state.ended)) { stream.emit('readable'); + state.emittedReadable = false; } // The stream needs another readable event if |