From 1a3bf4f935f097cd2072fc383518fac873322a68 Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Fri, 27 Sep 2019 22:32:54 +0200 Subject: [PATCH] doc: clarify pipeline stream cleanup PR-URL: https://github.com/nodejs/node/pull/29738 Reviewed-By: Luigi Pinca Reviewed-By: Rich Trott --- doc/api/stream.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/api/stream.md b/doc/api/stream.md index d4dbe54dbc2b52..3761df57e9f96d 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -1590,6 +1590,10 @@ async function run() { run().catch(console.error); ``` +`stream.pipeline()` will call `stream.destroy(err)` on all streams except: +* `Readable` streams which have emitted `'end'` or `'close'`. +* `Writable` streams which have emitted `'finish'` or `'close'`. + `stream.pipeline()` leaves dangling event listeners on the streams after the `callback` has been invoked. In the case of reuse of streams after failure, this can cause event listener leaks and swallowed errors.