From bab9c4d3310948b552f0dcded8a029977a249b7b Mon Sep 17 00:00:00 2001 From: Khafra Date: Thu, 30 Jan 2025 14:55:18 -0500 Subject: [PATCH] events: getMaxListeners detects 0 listeners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/56807 Refs: https://github.com/nodejs/undici/issues/4032 Refs: https://github.com/nodejs/node/commit/c1ccade02f29fd5585601bd496d4fb615a55b682 Reviewed-By: Robert Nagy Reviewed-By: Yagiz Nizipli Reviewed-By: Luigi Pinca Reviewed-By: Juan José Arboleda Reviewed-By: Matteo Collina Reviewed-By: Chemi Atlow --- lib/events.js | 2 +- test/parallel/test-events-getmaxlisteners.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/events.js b/lib/events.js index 50cc720b1247ba..999ee4ec746d18 100644 --- a/lib/events.js +++ b/lib/events.js @@ -939,7 +939,7 @@ function getEventListeners(emitterOrTarget, type) { function getMaxListeners(emitterOrTarget) { if (typeof emitterOrTarget?.getMaxListeners === 'function') { return _getMaxListeners(emitterOrTarget); - } else if (emitterOrTarget?.[kMaxEventTargetListeners]) { + } else if (typeof emitterOrTarget?.[kMaxEventTargetListeners] === 'number') { return emitterOrTarget[kMaxEventTargetListeners]; } diff --git a/test/parallel/test-events-getmaxlisteners.js b/test/parallel/test-events-getmaxlisteners.js index 05b4e75b7218fb..a90a22a1ce1f81 100644 --- a/test/parallel/test-events-getmaxlisteners.js +++ b/test/parallel/test-events-getmaxlisteners.js @@ -17,3 +17,8 @@ const { getMaxListeners, EventEmitter, defaultMaxListeners, setMaxListeners } = setMaxListeners(101, et); assert.strictEqual(getMaxListeners(et), 101); } + +{ + const ac = new AbortController(); + assert.strictEqual(getMaxListeners(ac.signal), 0); +}