Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void AsyncWrap::EmitAsyncInit(Environment* env,
- Local<Object> object,
- Local<String> type,
- double async_id,
- double trigger_async_id) {
- CHECK(!object.IsEmpty());
- CHECK(!type.IsEmpty());
- AsyncHooks* async_hooks = env->async_hooks();
- // Nothing to execute, so can continue normally.
- if (async_hooks->fields()[AsyncHooks::kInit] == 0) {
- return;
- }
- HandleScope scope(env->isolate());
- Local<Function> init_fn = env->async_hooks_init_function();
- Local<Value> argv[] = {
- Number::New(env->isolate(), async_id),
- type,
- Number::New(env->isolate(), trigger_async_id),
- object,
- };
- TryCatchScope try_catch(env, TryCatchScope::CatchMode::kFatal);
- USE(init_fn->Call(env->context(), object, arraysize(argv), argv));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement