@@ -21,6 +21,8 @@ namespace NodeDBus {
21
21
DBusError error;
22
22
DBusMessage *reply_message;
23
23
DBusAsyncData *data = static_cast <DBusAsyncData *>(user_data);
24
+ Nan::HandleScope scope;
25
+ Nan::AsyncResource resource (" node-dbus:callMethod" );
24
26
25
27
dbus_error_init (&error);
26
28
@@ -32,24 +34,21 @@ namespace NodeDBus {
32
34
}
33
35
dbus_pending_call_unref (pending);
34
36
35
- // Get current context from V8
36
- Nan::HandleScope scope;
37
-
38
37
Local<Value> err = Nan::Null ();
39
38
if (dbus_error_is_set (&error)) {
40
39
if (error.message != nullptr ) {
41
40
Local<Value> createErrorParameters[] = {
42
41
Nan::New (error.name ).ToLocalChecked (),
43
42
Nan::New (error.message ).ToLocalChecked ()
44
43
};
45
- err = data->createError ->Call (2 , createErrorParameters);
44
+ err = data->createError ->Call (2 , createErrorParameters, &resource). ToLocalChecked ( );
46
45
}
47
46
else {
48
47
Local<Value> createErrorParameters[] = {
49
48
Nan::New (error.name ).ToLocalChecked (),
50
49
Nan::Undefined ()
51
50
};
52
- err = data->createError ->Call (2 , createErrorParameters);
51
+ err = data->createError ->Call (2 , createErrorParameters, &resource). ToLocalChecked ( );
53
52
}
54
53
dbus_error_free (&error);
55
54
} else if (dbus_message_get_type (reply_message) == DBUS_MESSAGE_TYPE_ERROR) {
@@ -59,14 +58,14 @@ namespace NodeDBus {
59
58
Nan::New (error.name ).ToLocalChecked (),
60
59
Nan::New (error.message ).ToLocalChecked ()
61
60
};
62
- err = data->createError ->Call (2 , createErrorParameters);
61
+ err = data->createError ->Call (2 , createErrorParameters, &resource). ToLocalChecked ( );
63
62
}
64
63
else {
65
64
Local<Value> createErrorParameters[] = {
66
65
Nan::New (error.name ).ToLocalChecked (),
67
66
Nan::Undefined ()
68
67
};
69
- err = data->createError ->Call (2 , createErrorParameters);
68
+ err = data->createError ->Call (2 , createErrorParameters, &resource). ToLocalChecked ( );
70
69
}
71
70
dbus_error_free (&error);
72
71
}
@@ -82,7 +81,7 @@ namespace NodeDBus {
82
81
dbus_message_unref (reply_message);
83
82
84
83
// Invoke
85
- data->callback ->Call (2 , info);
84
+ data->callback ->Call (2 , info, &resource );
86
85
}
87
86
88
87
static void method_free (void *user_data)
0 commit comments