Skip to content

Commit

Permalink
async-wrap: remove before/after calls in init
Browse files Browse the repository at this point in the history
It doesn't make sense to call before/after callbacks in init to the
parent because they'll be made anyway from MakeCallback. If information
does need to be propagated then it should be done automatically. Will
deal with this if the issue arrises in the future.
  • Loading branch information
trevnorris committed May 4, 2015
1 parent e15f9d3 commit 13e52fe
Showing 1 changed file with 0 additions and 21 deletions.
21 changes: 0 additions & 21 deletions src/async-wrap-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,37 +30,16 @@ inline AsyncWrap::AsyncWrap(Environment* env,
if (!env->async_wrap_callbacks_enabled() && !parent->has_async_queue())
return;

// TODO(trevnorris): Until it's verified all passed object's are not weak,
// add a HandleScope to make sure there's no leak.
v8::HandleScope scope(env->isolate());

v8::Local<v8::Object> parent_obj;

v8::TryCatch try_catch;

// If a parent value was sent then call its pre/post functions to let it know
// a conceptual "child" is being instantiated (e.g. that a server has
// received a connection).
if (parent != nullptr) {
parent_obj = parent->object();
env->async_hooks_pre_function()->Call(parent_obj, 0, nullptr);
if (try_catch.HasCaught())
FatalError("node::AsyncWrap::AsyncWrap", "parent pre hook threw");
}

v8::Local<v8::Value> n = v8::Number::New(env->isolate(), provider);
env->async_hooks_init_function()->Call(object, 1, &n);

if (try_catch.HasCaught())
FatalError("node::AsyncWrap::AsyncWrap", "init hook threw");

bits_ |= 1; // has_async_queue() is true now.

if (parent != nullptr) {
env->async_hooks_post_function()->Call(parent_obj, 0, nullptr);
if (try_catch.HasCaught())
FatalError("node::AsyncWrap::AsyncWrap", "parent post hook threw");
}
}


Expand Down

0 comments on commit 13e52fe

Please sign in to comment.