From f74c2fc72a98e2a1949c3872a297165ff07d15b0 Mon Sep 17 00:00:00 2001 From: atlowChemi Date: Thu, 6 Jul 2023 02:12:37 +0300 Subject: [PATCH] lib: use addAbortListener PR-URL: https://github.com/nodejs/node/pull/48550 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Matteo Collina --- lib/internal/abort_controller.js | 4 +++- lib/internal/watch_mode/files_watcher.js | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/internal/abort_controller.js b/lib/internal/abort_controller.js index 052613e95a9c28..db1765bfe855e4 100644 --- a/lib/internal/abort_controller.js +++ b/lib/internal/abort_controller.js @@ -23,6 +23,7 @@ const { kTrustEvent, kNewListener, kRemoveListener, + kResistStopPropagation, kWeakHandler, } = require('internal/event_target'); const { @@ -447,7 +448,8 @@ async function aborted(signal, resource) { if (signal.aborted) return PromiseResolve(); const abortPromise = createDeferredPromise(); - signal.addEventListener('abort', abortPromise.resolve, { [kWeakHandler]: resource, once: true }); + const opts = { __proto__: null, [kWeakHandler]: resource, once: true, [kResistStopPropagation]: true }; + signal.addEventListener('abort', abortPromise.resolve, opts); return abortPromise.promise; } diff --git a/lib/internal/watch_mode/files_watcher.js b/lib/internal/watch_mode/files_watcher.js index 1fa4fc14cd4d4d..848c17f4115616 100644 --- a/lib/internal/watch_mode/files_watcher.js +++ b/lib/internal/watch_mode/files_watcher.js @@ -18,7 +18,6 @@ const { fileURLToPath } = require('url'); const { resolve, dirname } = require('path'); const { setTimeout } = require('timers'); - const supportsRecursiveWatching = process.platform === 'win32' || process.platform === 'darwin'; @@ -41,7 +40,9 @@ class FilesWatcher extends EventEmitter { this.#mode = mode; this.#signal = signal; - signal?.addEventListener('abort', () => this.clear(), { __proto__: null, once: true }); + if (signal) { + EventEmitter.addAbortListener(signal, () => this.clear()); + } } #isPathWatched(path) {