From 1a3bf4f935f097cd2072fc383518fac873322a68 Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Fri, 27 Sep 2019 22:32:54 +0200 Subject: 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(+) (limited to 'doc') diff --git a/doc/api/stream.md b/doc/api/stream.md index d4dbe54dbc..3761df57e9 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. -- cgit v1.2.3