From 2ea4cc07329132e059ada6923c9db495b054d380 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 5bfb8f5ea1eba4..2aa9044cdf2589 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -1587,6 +1587,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.