asyncwrap: add missing TryCatch
authorTrevor Norris <trev.norris@gmail.com>
Wed, 20 Nov 2013 00:03:11 +0000 (16:03 -0800)
committerTrevor Norris <trev.norris@gmail.com>
Wed, 20 Nov 2013 00:03:11 +0000 (16:03 -0800)
The TryCatch was not being checked after calling the unload asyncQueue
callback in AsyncWrap::MakeCallback.

src/async-wrap-inl.h

index 8408e02..58c2d78 100644 (file)
@@ -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();