MakeCallback: Use in node_crypto
authorisaacs <i@izs.me>
Thu, 12 Apr 2012 05:28:44 +0000 (22:28 -0700)
committerisaacs <i@izs.me>
Tue, 17 Apr 2012 19:00:58 +0000 (12:00 -0700)
src/node_crypto.cc

index f508ba17d7e4dfc880137ba19ce9a3e4849d87f5..8646fea21c7428047801236f1fadec80a5a57930 100644 (file)
@@ -861,16 +861,10 @@ int Connection::SelectSNIContextCallback_(SSL *s, int *ad, void* arg) {
       Local<Value> argv[1] = {*p->servername_};
       Local<Function> callback = *p->sniCallback_;
 
-      TryCatch try_catch;
-
       // Call it
-      Local<Value> ret = callback->Call(Context::GetCurrent()->Global(),
-                                        1,
-                                        argv);
-
-      if (try_catch.HasCaught()) {
-        FatalException(try_catch);
-      }
+      Local<Value> ret;
+      ret = Local<Value>::New(MakeCallback(Context::GetCurrent()->Global(),
+                                           callback, 1, argv));
 
       // If ret is SecureContext
       if (secure_context_constructor->HasInstance(ret)) {
@@ -4121,12 +4115,9 @@ EIO_PBKDF2After(uv_work_t* req) {
     argv[1] = Local<Value>::New(Undefined());
   }
 
-  TryCatch try_catch;
-
-  request->callback->Call(Context::GetCurrent()->Global(), 2, argv);
-
-  if (try_catch.HasCaught())
-    FatalException(try_catch);
+  MakeCallback(Context::GetCurrent()->Global(),
+               request->callback,
+               2, argv);
 
   delete[] request->pass;
   delete[] request->salt;
@@ -4314,11 +4305,9 @@ void RandomBytesAfter(uv_work_t* work_req) {
   Local<Value> argv[2];
   RandomBytesCheck(req, argv);
 
-  TryCatch tc;
-  req->callback_->Call(Context::GetCurrent()->Global(), 2, argv);
-
-  if (tc.HasCaught())
-    FatalException(tc);
+  MakeCallback(Context::GetCurrent()->Global(),
+               req->callback_,
+               2, argv);
 
   delete req;
 }