From 3614ce99f2eaa910a2b11b0f2f4a8a291ee3a4b0 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 25 Mar 2022 17:39:41 -0300 Subject: fix ancient waitForData util listener memory leak Particularly, this added a new event listener (i.e. function) every time the screen was resized, which would never be garbage collected. Oops. --- util/waitForData.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/util/waitForData.js b/util/waitForData.js index bf40c52..ed88402 100644 --- a/util/waitForData.js +++ b/util/waitForData.js @@ -1,9 +1,11 @@ module.exports = function waitForData(stream, cond = null) { return new Promise(resolve => { - stream.on('data', data => { + const listener = data => { if (cond ? cond(data) : true) { resolve(data) + stream.removeListener('data', listener) } - }) + } + stream.on('data', listener) }) } -- cgit 1.3.0-6-gf8a5