@@ -643,7 +643,7 @@ NAN_MODULE_INIT(S7Server::Init) {
643643
644644NAN_METHOD (S7Server::New) {
645645 if (info.IsConstructCall ()) {
646- S7Server *s7Server = new S7Server ();
646+ S7Server *s7Server = new S7Server (info. This () );
647647
648648 s7Server->Wrap (info.This ());
649649 info.GetReturnValue ().Set (info.This ());
@@ -655,7 +655,8 @@ NAN_METHOD(S7Server::New) {
655655 }
656656}
657657
658- S7Server::S7Server () {
658+ S7Server::S7Server (v8::Local<v8::Object> resource)
659+ : async_resource(" S7Server:emit" , resource) {
659660 lastError = 0 ;
660661 snap7Server = new TS7Server ();
661662
@@ -769,7 +770,7 @@ void S7Server::HandleEvent(uv_async_t* handle, int status) {
769770 event_obj
770771 };
771772
772- Nan::MakeCallback (s7server->handle (), " emit" , 2 , argv);
773+ s7server-> async_resource . runInAsyncScope (s7server->handle (), " emit" , 2 , argv);
773774 event_list_g.pop_front ();
774775 }
775776 uv_mutex_unlock (&mutex_event);
@@ -822,7 +823,7 @@ void S7Server::HandleReadWriteEvent(uv_async_t* handle, int status) {
822823 Nan::New<v8::Function>(S7Server::RWBufferCallback)
823824 };
824825
825- Nan::MakeCallback (s7server->handle (), " emit" , 6 , argv);
826+ s7server-> async_resource . runInAsyncScope (s7server->handle (), " emit" , 6 , argv);
826827}
827828
828829void IOWorkerServer::Execute () {
0 commit comments