diff options
author | David Mark Clements <huperekchuno@googlemail.com> | 2019-07-05 20:02:08 +0200 |
---|---|---|
committer | Michaƫl Zasso <targos@protonmail.com> | 2019-07-22 21:20:43 +0200 |
commit | 0793398b4f203994cf039fa84bd9e2514796d8a6 (patch) | |
tree | 874ff60a302eb212045c083e88b685ab22f4a9bd /lib/internal/streams | |
parent | 77bdbc5f0d1bd7caada99d0097bca2a9bb1f4cee (diff) | |
download | android-node-v8-0793398b4f203994cf039fa84bd9e2514796d8a6.tar.gz android-node-v8-0793398b4f203994cf039fa84bd9e2514796d8a6.tar.bz2 android-node-v8-0793398b4f203994cf039fa84bd9e2514796d8a6.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.js | 2 |
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 |