diff --git a/lib/_stream_readable.js b/lib/_stream_readable.js index 952f2d75b84839..e34e13efbb05bc 100644 --- a/lib/_stream_readable.js +++ b/lib/_stream_readable.js @@ -213,7 +213,9 @@ function Readable(options) { Stream.call(this, options); destroyImpl.construct(this, () => { - maybeReadMore(this, this._readableState); + if (!this.isPaused()) { + maybeReadMore(this, this._readableState); + } }); } diff --git a/test/parallel/test-stream-construct.js b/test/parallel/test-stream-construct.js index a3e2b4d2e3e8bd..fee27f44006c2d 100644 --- a/test/parallel/test-stream-construct.js +++ b/test/parallel/test-stream-construct.js @@ -242,3 +242,14 @@ testDestroy((opts) => new Writable({ construct: common.mustCall() }); } + +{ + // Readable paused + const readable = new Readable({ + construct: common.mustCall((callback) => { + readable.pause(); + callback(); + }), + read: common.mustNotCall() + }); +}