From 1aac2c09e77ea665f1103ca8bf1e39bc19691a00 Mon Sep 17 00:00:00 2001 From: Andreas Madsen Date: Mon, 10 Jul 2017 14:15:10 +0200 Subject: [PATCH] async_hooks: rename internal emit functions There are two categories of emit functions in async_hooks, those used by c++ (native) and those used by JavaScript (script). Previously these were named N for native and S for script. Finally, there was an odd case where emitInitN was called just init. This makes it more explicit by using the names emitInitNative and emitInitScript. The other emit functions are also renamed. PR-URL: https://github.com/nodejs/node/pull/14152 Reviewed-By: Refael Ackermann Reviewed-By: Trevor Norris Reviewed-By: James M Snell Reviewed-By: Anna Henningsen --- lib/async_hooks.js | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/lib/async_hooks.js b/lib/async_hooks.js index 4056fe1635f7c8..7758c8d30577a0 100644 --- a/lib/async_hooks.js +++ b/lib/async_hooks.js @@ -57,7 +57,7 @@ const emitDestroyNative = emitHookFactory(destroy_symbol, 'emitDestroyNative'); // process. They use the same functions as the JS embedder API. These callbacks // are setup immediately to prevent async_wrap.setupHooks() from being hijacked // and the cost of doing so is negligible. -async_wrap.setupHooks({ init, +async_wrap.setupHooks({ init: emitInitNative, before: emitBeforeNative, after: emitAfterNative, destroy: emitDestroyNative }); @@ -228,21 +228,21 @@ class AsyncResource { if (async_hook_fields[kInit] === 0) return; - init(this[async_id_symbol], type, triggerAsyncId, this); + emitInitNative(this[async_id_symbol], type, triggerAsyncId, this); } emitBefore() { - emitBeforeS(this[async_id_symbol], this[trigger_id_symbol]); + emitBeforeScript(this[async_id_symbol], this[trigger_id_symbol]); return this; } emitAfter() { - emitAfterS(this[async_id_symbol]); + emitAfterScript(this[async_id_symbol]); return this; } emitDestroy() { - emitDestroyS(this[async_id_symbol]); + emitDestroyScript(this[async_id_symbol]); return this; } @@ -311,7 +311,7 @@ function setInitTriggerId(triggerAsyncId) { } -function emitInitS(asyncId, type, triggerAsyncId, resource) { +function emitInitScript(asyncId, type, triggerAsyncId, resource) { // Short circuit all checks for the common case. Which is that no hooks have // been set. Do this to remove performance impact for embedders (and core). // Even though it bypasses all the argument checks. The performance savings @@ -334,7 +334,7 @@ function emitInitS(asyncId, type, triggerAsyncId, resource) { if (!Number.isSafeInteger(triggerAsyncId) || triggerAsyncId < 0) throw new RangeError('triggerAsyncId must be an unsigned integer'); - init(asyncId, type, triggerAsyncId, resource); + emitInitNative(asyncId, type, triggerAsyncId, resource); } function emitHookFactory(symbol, name) { @@ -370,9 +370,7 @@ function emitHookFactory(symbol, name) { } -// Usage: emitBeforeS(asyncId[, triggerAsyncId]). If triggerAsyncId is omitted -// then asyncId will be used instead. -function emitBeforeS(asyncId, triggerAsyncId) { +function emitBeforeScript(asyncId, triggerAsyncId) { // CHECK(Number.isSafeInteger(asyncId) && asyncId > 0) // CHECK(Number.isSafeInteger(triggerAsyncId) && triggerAsyncId > 0) @@ -392,7 +390,7 @@ function emitBeforeS(asyncId, triggerAsyncId) { // TODO(trevnorris): Calling emitBefore/emitAfter from native can't adjust the // kIdStackIndex. But what happens if the user doesn't have both before and // after callbacks. -function emitAfterS(asyncId) { +function emitAfterScript(asyncId) { if (async_hook_fields[kAfter] > 0) emitAfterNative(asyncId); @@ -400,7 +398,7 @@ function emitAfterS(asyncId) { } -function emitDestroyS(asyncId) { +function emitDestroyScript(asyncId) { // Return early if there are no destroy callbacks, or on attempt to emit // destroy on the void. if (async_hook_fields[kDestroy] === 0 || asyncId === 0) @@ -422,7 +420,7 @@ function emitDestroyS(asyncId) { // change in the future depending on whether it can be determined if there's a // slim chance of the application remaining stable after handling one of these // exceptions. -function init(asyncId, type, triggerAsyncId, resource) { +function emitInitNative(asyncId, type, triggerAsyncId, resource) { processing_hook += 1; // Use a single try/catch for all hook to avoid setting up one per iteration. try { @@ -467,10 +465,10 @@ module.exports = { newUid, initTriggerId, setInitTriggerId, - emitInit: emitInitS, - emitBefore: emitBeforeS, - emitAfter: emitAfterS, - emitDestroy: emitDestroyS, + emitInit: emitInitScript, + emitBefore: emitBeforeScript, + emitAfter: emitAfterScript, + emitDestroy: emitDestroyScript, }; // currentId was renamed to executionAsyncId. This was in 8.2.0 during the