diff options
author | Trevor Norris <trev.norris@gmail.com> | 2013-11-19 16:03:11 -0800 |
---|---|---|
committer | Trevor Norris <trev.norris@gmail.com> | 2013-11-19 16:03:11 -0800 |
commit | aef652dc111bef8dc970353243ba8ce2c23f014e (patch) | |
tree | 1170755fa79ac30043a1a0e602da230d2b111634 /src | |
parent | 3ac69469991eab4a4176f3cd851f351119c7efcd (diff) | |
download | nodejs-aef652dc111bef8dc970353243ba8ce2c23f014e.tar.gz nodejs-aef652dc111bef8dc970353243ba8ce2c23f014e.tar.bz2 nodejs-aef652dc111bef8dc970353243ba8ce2c23f014e.zip |
asyncwrap: add missing TryCatch
The TryCatch was not being checked after calling the unload asyncQueue
callback in AsyncWrap::MakeCallback.
Diffstat (limited to 'src')
-rw-r--r-- | src/async-wrap-inl.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/async-wrap-inl.h b/src/async-wrap-inl.h index 8408e0214..58c2d78b2 100644 --- a/src/async-wrap-inl.h +++ b/src/async-wrap-inl.h @@ -117,6 +117,9 @@ inline v8::Handle<v8::Value> AsyncWrap::MakeCallback( if (has_async_queue()) { v8::Local<v8::Value> val = context.As<v8::Value>(); env()->async_listener_unload_function()->Call(process, 1, &val); + + if (try_catch.HasCaught()) + return v8::Undefined(env()->isolate()); } Environment::TickInfo* tick_info = env()->tick_info(); |