Skip to content

Commit cce92cc

Browse files
AndreasMadsenMylesBorins
authored andcommitted
async_hooks: rename initTriggerId
rename initTriggerId to defaultTriggerAsyncId such it matches the rest of our naming. Backport-PR-URL: #18179 PR-URL: #17273 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 6d55a4c commit cce92cc

15 files changed

+70
-68
lines changed

lib/_http_client.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ function responseKeepAlive(res, req) {
582582
socket.removeListener('error', socketErrorListener);
583583
socket.once('error', freeSocketErrorListener);
584584
// There are cases where _handle === null. Avoid those. Passing null to
585-
// nextTick() will call initTriggerId() to retrieve the id.
585+
// nextTick() will call getDefaultTriggerAsyncId() to retrieve the id.
586586
const asyncId = socket._handle ? socket._handle.getAsyncId() : null;
587587
// Mark this socket as available, AFTER user-added end
588588
// handlers have a chance to run.

lib/async_hooks.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const {
1919
disableHooks,
2020
// Sensitive Embedder API
2121
newUid,
22-
initTriggerId,
22+
getDefaultTriggerAsyncId,
2323
setInitTriggerId,
2424
emitInit,
2525
emitBefore,
@@ -152,7 +152,7 @@ class AsyncResource {
152152
if (typeof opts === 'number') {
153153
opts = { triggerAsyncId: opts, requireManualDestroy: false };
154154
} else if (opts.triggerAsyncId === undefined) {
155-
opts.triggerAsyncId = initTriggerId();
155+
opts.triggerAsyncId = getDefaultTriggerAsyncId();
156156
}
157157

158158
// Unlike emitInitScript, AsyncResource doesn't supports null as the
@@ -276,7 +276,7 @@ Object.defineProperty(module.exports, 'newUid', {
276276

277277
Object.defineProperty(module.exports, 'initTriggerId', {
278278
get: internalUtil.deprecate(function() {
279-
return initTriggerId;
279+
return getDefaultTriggerAsyncId;
280280
}, 'async_hooks.initTriggerId is deprecated. ' +
281281
'Use the AsyncResource default instead.', 'DEP0085')
282282
});

lib/dgram.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const dns = require('dns');
2828
const util = require('util');
2929
const { isUint8Array } = require('internal/util/types');
3030
const EventEmitter = require('events');
31-
const { setInitTriggerId } = require('internal/async_hooks');
31+
const { setDefaultTriggerAsyncId } = require('internal/async_hooks');
3232
const { UV_UDP_REUSEADDR } = process.binding('constants').os;
3333
const { async_id_symbol } = process.binding('async_wrap');
3434
const { nextTick } = require('internal/process/next_tick');
@@ -479,7 +479,7 @@ function doSend(ex, self, ip, list, address, port, callback) {
479479
// node::SendWrap isn't instantiated and attached to the JS instance of
480480
// SendWrap above until send() is called. So don't set the init trigger id
481481
// until now.
482-
setInitTriggerId(self[async_id_symbol]);
482+
setDefaultTriggerAsyncId(self[async_id_symbol]);
483483
var err = self._handle.send(req,
484484
list,
485485
list.length,

lib/internal/async_hooks.js

+18-18
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ const async_wrap = process.binding('async_wrap');
1414
* kTriggerAsyncId: The trigger_async_id of the resource responsible for
1515
* the current execution stack.
1616
* kAsyncIdCounter: Incremental counter tracking the next assigned async_id.
17-
* kInitTriggerAsyncId: Written immediately before a resource's constructor
17+
* kDefaultTriggerAsyncId: Written immediately before a resource's constructor
1818
* that sets the value of the init()'s triggerAsyncId. The order of
1919
* retrieving the triggerAsyncId value is passing directly to the
20-
* constructor -> value set in kInitTriggerAsyncId -> executionAsyncId of
20+
* constructor -> value set in kDefaultTriggerAsyncId -> executionAsyncId of
2121
* the current resource.
2222
*/
2323
const { async_hook_fields, async_id_fields } = async_wrap;
@@ -61,7 +61,7 @@ const active_hooks = {
6161
// for a given step, that step can bail out early.
6262
const { kInit, kBefore, kAfter, kDestroy, kPromiseResolve,
6363
kCheck, kExecutionAsyncId, kAsyncIdCounter,
64-
kInitTriggerAsyncId } = async_wrap.constants;
64+
kDefaultTriggerAsyncId } = async_wrap.constants;
6565

6666
// Used in AsyncHook and AsyncResource.
6767
const init_symbol = Symbol('init');
@@ -245,25 +245,25 @@ function newUid() {
245245
return ++async_id_fields[kAsyncIdCounter];
246246
}
247247

248-
249248
// Return the triggerAsyncId meant for the constructor calling it. It's up to
250249
// the user to safeguard this call and make sure it's zero'd out when the
251250
// constructor is complete.
252-
function initTriggerId() {
253-
var triggerAsyncId = async_id_fields[kInitTriggerAsyncId];
251+
function getDefaultTriggerAsyncId() {
252+
var defaultTriggerAsyncId = async_id_fields[kDefaultTriggerAsyncId];
254253
// Reset value after it's been called so the next constructor doesn't
255254
// inherit it by accident.
256-
async_id_fields[kInitTriggerAsyncId] = 0;
257-
if (triggerAsyncId <= 0)
258-
triggerAsyncId = async_id_fields[kExecutionAsyncId];
259-
return triggerAsyncId;
255+
async_id_fields[kDefaultTriggerAsyncId] = 0;
256+
// If defaultTriggerAsyncId isn't set, use the executionAsyncId
257+
if (defaultTriggerAsyncId <= 0)
258+
defaultTriggerAsyncId = async_id_fields[kExecutionAsyncId];
259+
return defaultTriggerAsyncId;
260260
}
261261

262262

263-
function setInitTriggerId(triggerAsyncId) {
263+
function setDefaultTriggerAsyncId(triggerAsyncId) {
264264
// CHECK(Number.isSafeInteger(triggerAsyncId))
265265
// CHECK(triggerAsyncId > 0)
266-
async_id_fields[kInitTriggerAsyncId] = triggerAsyncId;
266+
async_id_fields[kDefaultTriggerAsyncId] = triggerAsyncId;
267267
}
268268

269269

@@ -282,13 +282,13 @@ function emitInitScript(asyncId, type, triggerAsyncId, resource) {
282282
return;
283283

284284
// This can run after the early return check b/c running this function
285-
// manually means that the embedder must have used initTriggerId().
285+
// manually means that the embedder must have used getDefaultTriggerAsyncId().
286286
if (triggerAsyncId === null) {
287-
triggerAsyncId = initTriggerId();
287+
triggerAsyncId = getDefaultTriggerAsyncId();
288288
} else {
289-
// If a triggerAsyncId was passed, any kInitTriggerAsyncId still must be
289+
// If a triggerAsyncId was passed, any kDefaultTriggerAsyncId still must be
290290
// null'd.
291-
async_id_fields[kInitTriggerAsyncId] = 0;
291+
async_id_fields[kDefaultTriggerAsyncId] = 0;
292292
}
293293

294294
emitInitNative(asyncId, type, triggerAsyncId, resource);
@@ -340,8 +340,8 @@ module.exports = {
340340
disableHooks,
341341
// Sensitive Embedder API
342342
newUid,
343-
initTriggerId,
344-
setInitTriggerId,
343+
getDefaultTriggerAsyncId,
344+
setDefaultTriggerAsyncId,
345345
emitInit: emitInitScript,
346346
emitBefore: emitBeforeScript,
347347
emitAfter: emitAfterScript,

lib/internal/bootstrap_node.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -359,14 +359,14 @@
359359
// Internal functions needed to manipulate the stack.
360360
const { clearAsyncIdStack, asyncIdStackSize } = async_wrap;
361361
const { kAfter, kExecutionAsyncId,
362-
kInitTriggerAsyncId } = async_wrap.constants;
362+
kDefaultTriggerAsyncId } = async_wrap.constants;
363363

364364
process._fatalException = function(er) {
365365
var caught;
366366

367-
// It's possible that kInitTriggerAsyncId was set for a constructor call
368-
// that threw and was never cleared. So clear it now.
369-
async_id_fields[kInitTriggerAsyncId] = 0;
367+
// It's possible that kDefaultTriggerAsyncId was set for a constructor
368+
// call that threw and was never cleared. So clear it now.
369+
async_id_fields[kDefaultTriggerAsyncId] = 0;
370370

371371
if (process.domain && process.domain._errorHandler)
372372
caught = process.domain._errorHandler(er);

lib/internal/process/next_tick.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ function setupNextTick() {
5252
const promises = require('internal/process/promises');
5353
const errors = require('internal/errors');
5454
const emitPendingUnhandledRejections = promises.setup(scheduleMicrotasks);
55-
const initTriggerId = async_hooks.initTriggerId;
55+
const getDefaultTriggerAsyncId = async_hooks.getDefaultTriggerAsyncId;
5656
// Two arrays that share state between C++ and JS.
5757
const { async_hook_fields, async_id_fields } = async_wrap;
5858
// Used to change the state of the async id stack.
@@ -262,7 +262,7 @@ function setupNextTick() {
262262
}
263263

264264
const asyncId = ++async_id_fields[kAsyncIdCounter];
265-
const triggerAsyncId = initTriggerId();
265+
const triggerAsyncId = getDefaultTriggerAsyncId();
266266
const obj = new TickObject(callback, args, asyncId, triggerAsyncId);
267267
nextTickQueue.push(obj);
268268
++tickInfo[kLength];
@@ -282,7 +282,7 @@ function setupNextTick() {
282282
return;
283283

284284
if (triggerAsyncId === null) {
285-
triggerAsyncId = async_hooks.initTriggerId();
285+
triggerAsyncId = async_hooks.getDefaultTriggerAsyncId();
286286
}
287287

288288
var args;

lib/net.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const { TCPConnectWrap } = process.binding('tcp_wrap');
3939
const { PipeConnectWrap } = process.binding('pipe_wrap');
4040
const { ShutdownWrap, WriteWrap } = process.binding('stream_wrap');
4141
const { async_id_symbol } = process.binding('async_wrap');
42-
const { newUid, setInitTriggerId } = require('internal/async_hooks');
42+
const { newUid, setDefaultTriggerAsyncId } = require('internal/async_hooks');
4343
const { nextTick } = require('internal/process/next_tick');
4444
const errors = require('internal/errors');
4545
const dns = require('dns');
@@ -297,7 +297,7 @@ function onSocketFinish() {
297297
// node::ShutdownWrap isn't instantiated and attached to the JS instance of
298298
// ShutdownWrap above until shutdown() is called. So don't set the init
299299
// trigger id until now.
300-
setInitTriggerId(this[async_id_symbol]);
300+
setDefaultTriggerAsyncId(this[async_id_symbol]);
301301
var err = this._handle.shutdown(req);
302302

303303
if (err)
@@ -953,7 +953,7 @@ function internalConnect(
953953
// node::TCPConnectWrap isn't instantiated and attached to the JS instance
954954
// of TCPConnectWrap above until connect() is called. So don't set the init
955955
// trigger id until now.
956-
setInitTriggerId(self[async_id_symbol]);
956+
setDefaultTriggerAsyncId(self[async_id_symbol]);
957957
if (addressType === 4)
958958
err = self._handle.connect(req, address, port);
959959
else
@@ -966,7 +966,7 @@ function internalConnect(
966966
// node::PipeConnectWrap isn't instantiated and attached to the JS instance
967967
// of PipeConnectWrap above until connect() is called. So don't set the
968968
// init trigger id until now.
969-
setInitTriggerId(self[async_id_symbol]);
969+
setDefaultTriggerAsyncId(self[async_id_symbol]);
970970
err = self._handle.connect(req, address, afterConnect);
971971
}
972972

@@ -1095,7 +1095,7 @@ function lookupAndConnect(self, options) {
10951095
debug('connect: dns options', dnsopts);
10961096
self._host = host;
10971097
var lookup = options.lookup || dns.lookup;
1098-
setInitTriggerId(self[async_id_symbol]);
1098+
setDefaultTriggerAsyncId(self[async_id_symbol]);
10991099
lookup(host, dnsopts, function emitLookup(err, ip, addressType) {
11001100
self.emit('lookup', err, ip, addressType, host);
11011101

lib/timers.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const kOnTimeout = TimerWrap.kOnTimeout | 0;
3333
// Two arrays that share state between C++ and JS.
3434
const { async_hook_fields, async_id_fields } = async_wrap;
3535
const {
36-
initTriggerId,
36+
getDefaultTriggerAsyncId,
3737
// The needed emit*() functions.
3838
emitInit,
3939
emitBefore,
@@ -180,7 +180,7 @@ function insert(item, unrefed) {
180180
if (!item[async_id_symbol] || item._destroyed) {
181181
item._destroyed = false;
182182
item[async_id_symbol] = ++async_id_fields[kAsyncIdCounter];
183-
item[trigger_async_id_symbol] = initTriggerId();
183+
item[trigger_async_id_symbol] = getDefaultTriggerAsyncId();
184184
if (async_hook_fields[kInit] > 0)
185185
emitInit(
186186
item[async_id_symbol], 'Timeout', item[trigger_async_id_symbol], item
@@ -581,7 +581,7 @@ function Timeout(after, callback, args) {
581581
this._repeat = null;
582582
this._destroyed = false;
583583
this[async_id_symbol] = ++async_id_fields[kAsyncIdCounter];
584-
this[trigger_async_id_symbol] = initTriggerId();
584+
this[trigger_async_id_symbol] = getDefaultTriggerAsyncId();
585585
if (async_hook_fields[kInit] > 0)
586586
emitInit(
587587
this[async_id_symbol], 'Timeout', this[trigger_async_id_symbol], this
@@ -816,7 +816,7 @@ function Immediate() {
816816
this._destroyed = false;
817817
this.domain = process.domain;
818818
this[async_id_symbol] = ++async_id_fields[kAsyncIdCounter];
819-
this[trigger_async_id_symbol] = initTriggerId();
819+
this[trigger_async_id_symbol] = getDefaultTriggerAsyncId();
820820
if (async_hook_fields[kInit] > 0)
821821
emitInit(
822822
this[async_id_symbol], 'Immediate', this[trigger_async_id_symbol], this

src/async_wrap.cc

+7-6
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ static void PromiseHook(PromiseHookType type, Local<Promise> promise,
332332
}
333333
// get id from parentWrap
334334
double trigger_async_id = parent_wrap->get_async_id();
335-
env->set_init_trigger_async_id(trigger_async_id);
335+
env->set_default_trigger_async_id(trigger_async_id);
336336
}
337337

338338
wrap = PromiseWrap::New(env, promise, parent_wrap, silent);
@@ -564,9 +564,10 @@ void AsyncWrap::Initialize(Local<Object> target,
564564
//
565565
// kAsyncUid: Maintains the state of the next unique id to be assigned.
566566
//
567-
// kInitTriggerAsyncId: Write the id of the resource responsible for a
567+
// kDefaultTriggerAsyncId: Write the id of the resource responsible for a
568568
// handle's creation just before calling the new handle's constructor.
569-
// After the new handle is constructed kInitTriggerAsyncId is set back to 0.
569+
// After the new handle is constructed kDefaultTriggerAsyncId is set back
570+
// to 0.
570571
FORCE_SET_TARGET_FIELD(target,
571572
"async_id_fields",
572573
env->async_hooks()->async_id_fields().GetJSArray());
@@ -586,7 +587,7 @@ void AsyncWrap::Initialize(Local<Object> target,
586587
SET_HOOKS_CONSTANT(kExecutionAsyncId);
587588
SET_HOOKS_CONSTANT(kTriggerAsyncId);
588589
SET_HOOKS_CONSTANT(kAsyncIdCounter);
589-
SET_HOOKS_CONSTANT(kInitTriggerAsyncId);
590+
SET_HOOKS_CONSTANT(kDefaultTriggerAsyncId);
590591
#undef SET_HOOKS_CONSTANT
591592
FORCE_SET_TARGET_FIELD(target, "constants", constants);
592593

@@ -699,7 +700,7 @@ void AsyncWrap::EmitDestroy(Environment* env, double async_id) {
699700
void AsyncWrap::AsyncReset(double execution_async_id, bool silent) {
700701
async_id_ =
701702
execution_async_id == -1 ? env()->new_async_id() : execution_async_id;
702-
trigger_async_id_ = env()->get_init_trigger_async_id();
703+
trigger_async_id_ = env()->get_default_trigger_async_id();
703704

704705
switch (provider_type()) {
705706
#define V(PROVIDER) \
@@ -815,7 +816,7 @@ async_context EmitAsyncInit(Isolate* isolate,
815816

816817
// Initialize async context struct
817818
if (trigger_async_id == -1)
818-
trigger_async_id = env->get_init_trigger_async_id();
819+
trigger_async_id = env->get_default_trigger_async_id();
819820

820821
async_context context = {
821822
env->new_async_id(), // async_id_

src/connection_wrap.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void ConnectionWrap<WrapType, UVType>::OnConnection(uv_stream_t* handle,
4949
};
5050

5151
if (status == 0) {
52-
env->set_init_trigger_async_id(wrap_data->get_async_id());
52+
env->set_default_trigger_async_id(wrap_data->get_async_id());
5353
// Instantiate the client javascript object and handle.
5454
Local<Object> client_obj = WrapType::Instantiate(env,
5555
wrap_data,

src/env-inl.h

+12-11
Original file line numberDiff line numberDiff line change
@@ -464,17 +464,18 @@ inline double Environment::trigger_async_id() {
464464
return async_hooks()->async_id_fields()[AsyncHooks::kTriggerAsyncId];
465465
}
466466

467-
inline double Environment::get_init_trigger_async_id() {
468-
AliasedBuffer<double, v8::Float64Array>& async_id_fields =
469-
async_hooks()->async_id_fields();
470-
double tid = async_id_fields[AsyncHooks::kInitTriggerAsyncId];
471-
async_id_fields[AsyncHooks::kInitTriggerAsyncId] = 0;
472-
if (tid <= 0) tid = execution_async_id();
473-
return tid;
474-
}
475-
476-
inline void Environment::set_init_trigger_async_id(const double id) {
477-
async_hooks()->async_id_fields()[AsyncHooks::kInitTriggerAsyncId] = id;
467+
inline double Environment::get_default_trigger_async_id() {
468+
double default_trigger_async_id =
469+
async_hooks()->async_id_fields()[AsyncHooks::kDefaultTriggerAsyncId];
470+
async_hooks()->async_id_fields()[AsyncHooks::kDefaultTriggerAsyncId] = 0;
471+
// If defaultTriggerAsyncId isn't set, use the executionAsyncId
472+
if (default_trigger_async_id <= 0)
473+
default_trigger_async_id = execution_async_id();
474+
return default_trigger_async_id;
475+
}
476+
477+
inline void Environment::set_default_trigger_async_id(const double id) {
478+
async_hooks()->async_id_fields()[AsyncHooks::kDefaultTriggerAsyncId] = id;
478479
}
479480

480481
inline double* Environment::heap_statistics_buffer() const {

src/env.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ class Environment {
401401
kExecutionAsyncId,
402402
kTriggerAsyncId,
403403
kAsyncIdCounter,
404-
kInitTriggerAsyncId,
404+
kDefaultTriggerAsyncId,
405405
kUidFieldsCount,
406406
};
407407

@@ -593,8 +593,8 @@ class Environment {
593593
inline double new_async_id();
594594
inline double execution_async_id();
595595
inline double trigger_async_id();
596-
inline double get_init_trigger_async_id();
597-
inline void set_init_trigger_async_id(const double id);
596+
inline double get_default_trigger_async_id();
597+
inline void set_default_trigger_async_id(const double id);
598598

599599
// List of id's that have been destroyed and need the destroy() cb called.
600600
inline std::vector<double>* destroy_async_id_list();

0 commit comments

Comments
 (0)