summaryrefslogtreecommitdiff
path: root/lib/internal/streams
diff options
context:
space:
mode:
authorDavid Mark Clements <huperekchuno@googlemail.com>2019-07-05 20:02:08 +0200
committerRich Trott <rtrott@gmail.com>2019-07-20 22:32:08 -0700
commit34997417b35bb1c5707d833e2a3588d2e9827460 (patch)
treed7f9de384dd8075a6bdda839660ee9be2436e00f /lib/internal/streams
parentf02dfdb2b5e266a057eda1e07eafc62b55f468d3 (diff)
downloadandroid-node-v8-34997417b35bb1c5707d833e2a3588d2e9827460.tar.gz
android-node-v8-34997417b35bb1c5707d833e2a3588d2e9827460.tar.bz2
android-node-v8-34997417b35bb1c5707d833e2a3588d2e9827460.zip
stream: add null push transform in async_iterator
when the readable side of a transform ends any for await loop on that transform stream should also complete. This fix prevents for await loop on a transform stream from hanging indefinitely. PR-URL: https://github.com/nodejs/node/pull/28566 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'lib/internal/streams')
-rw-r--r--lib/internal/streams/async_iterator.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/internal/streams/async_iterator.js b/lib/internal/streams/async_iterator.js
index defba235ad..89a1dae7fd 100644
--- a/lib/internal/streams/async_iterator.js
+++ b/lib/internal/streams/async_iterator.js
@@ -155,7 +155,7 @@ const createReadableStreamAsyncIterator = (stream) => {
});
iterator[kLastPromise] = null;
- finished(stream, (err) => {
+ finished(stream, { writable: false }, (err) => {
if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {
const reject = iterator[kLastReject];
// Reject if we are waiting for data in the Promise returned by next() and