From 60ede0bf46bb29f151d561e71343f93f5a3fe8ea Mon Sep 17 00:00:00 2001 From: Simon Detheridge Date: Tue, 31 Mar 2020 17:00:39 +0100 Subject: [PATCH] Find more ways to destroy streams --- services/filestore/app/js/PersistorHelper.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/filestore/app/js/PersistorHelper.js b/services/filestore/app/js/PersistorHelper.js index 99ac26aece..b829e5ec45 100644 --- a/services/filestore/app/js/PersistorHelper.js +++ b/services/filestore/app/js/PersistorHelper.js @@ -106,11 +106,12 @@ function getReadyPipeline(...streams) { lastStream.removeListener('readable', handler) if (err) { - return reject( + reject( wrapError(err, 'error before stream became ready', {}, ReadError) ) + } else { + resolve(lastStream) } - resolve(lastStream) } if (err) { for (const stream of streams) { @@ -121,6 +122,9 @@ function getReadyPipeline(...streams) { } } + for (let index = 0; index < streams.length - 1; index++) { + streams[index + 1].on('close', () => streams[index].destroy()) + } pipeline(...streams).catch(handler) lastStream.on('readable', handler) })