lib: remove redundant destroyHook checks

PR-URL: https://github.com/nodejs/node/pull/60120
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
This commit is contained in:
Gürgün Dayıoğlu 2025-10-08 14:11:43 +02:00 committed by GitHub
parent 0fb040603b
commit 15278252bb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 8 additions and 19 deletions

View File

@ -532,7 +532,7 @@ function emitAfterScript(asyncId) {
function emitDestroyScript(asyncId) {
// Return early if there are no destroy callbacks, or invalid asyncId.
if (!hasHooks(kDestroy) || asyncId <= 0)
if (!hasHooks(kDestroy) || !(asyncId > 0))
return;
async_wrap.queueDestroyAsyncId(asyncId);
}

View File

@ -27,7 +27,6 @@ const {
getDefaultTriggerAsyncId,
newAsyncId,
initHooksExist,
destroyHooksExist,
emitInit,
emitBefore,
emitAfter,
@ -94,8 +93,7 @@ function processTicksAndRejections() {
}
}
} finally {
if (destroyHooksExist())
emitDestroy(asyncId);
emitDestroy(asyncId);
}
emitAfter(asyncId);

View File

@ -92,7 +92,6 @@ const {
getDefaultTriggerAsyncId,
newAsyncId,
initHooksExist,
destroyHooksExist,
// The needed emit*() functions.
emitInit,
emitBefore,
@ -508,8 +507,7 @@ function getTimerCallbacks(runNextTicks) {
} finally {
immediate._onImmediate = null;
if (destroyHooksExist())
emitDestroy(asyncId);
emitDestroy(asyncId);
outstandingQueue.head = immediate = immediate._idleNext;
}
@ -585,8 +583,7 @@ function getTimerCallbacks(runNextTicks) {
if (timer[kRefed])
timeoutInfo[0]--;
if (destroyHooksExist())
emitDestroy(asyncId);
emitDestroy(asyncId);
}
continue;
}
@ -621,8 +618,7 @@ function getTimerCallbacks(runNextTicks) {
if (timer[kRefed])
timeoutInfo[0]--;
if (destroyHooksExist())
emitDestroy(asyncId);
emitDestroy(asyncId);
}
}

View File

@ -63,7 +63,6 @@ let timersPromises;
let timers;
const {
destroyHooksExist,
// The needed emit*() functions.
emitDestroy,
} = require('internal/async_hooks');
@ -78,9 +77,7 @@ function unenroll(item) {
if (item[kHasPrimitive])
delete knownTimersById[item[async_id_symbol]];
// Fewer checks may be possible, but these cover everything.
if (destroyHooksExist() && item[async_id_symbol] !== undefined)
emitDestroy(item[async_id_symbol]);
emitDestroy(item[async_id_symbol]);
L.remove(item);
@ -239,9 +236,7 @@ function clearImmediate(immediate) {
}
immediate[kRefed] = null;
if (destroyHooksExist() && immediate[async_id_symbol] !== undefined) {
emitDestroy(immediate[async_id_symbol]);
}
emitDestroy(immediate[async_id_symbol]);
immediate._onImmediate = null;

View File

@ -1,7 +1,7 @@
Error: test
at one (*fixtures*async-error.js:4:9)
at two (*fixtures*async-error.js:17:9)
at process.processTicksAndRejections (node:internal*process*task_queues:105:5)
at process.processTicksAndRejections (node:internal*process*task_queues:103:5)
at async three (*fixtures*async-error.js:20:3)
at async four (*fixtures*async-error.js:24:3)
at async main (*async_error_nexttick_main.js:7:5)