diff --git a/package.json b/package.json index f83bd291..a9831c94 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "dependencies": { "color": "^3.0.0", "detect-libc": "^1.0.3", - "nan": "^2.8.0", + "nan": "^2.9.2", "semver": "^5.5.0", "simple-get": "^2.7.0", "tar": "^4.3.2", diff --git a/src/metadata.cc b/src/metadata.cc index 81162377..9676cb12 100644 --- a/src/metadata.cc +++ b/src/metadata.cc @@ -27,7 +27,8 @@ class MetadataWorker : public Nan::AsyncWorker { MetadataWorker( Nan::Callback *callback, MetadataBaton *baton, Nan::Callback *debuglog, std::vector> const buffersToPersist) : - Nan::AsyncWorker(callback), baton(baton), debuglog(debuglog), + Nan::AsyncWorker(callback, "sharp:MetadataWorker"), + baton(baton), debuglog(debuglog), buffersToPersist(buffersToPersist) { // Protect Buffer objects from GC, keyed on index std::accumulate(buffersToPersist.begin(), buffersToPersist.end(), 0, @@ -165,12 +166,12 @@ class MetadataWorker : public Nan::AsyncWorker { std::string warning = sharp::VipsWarningPop(); while (!warning.empty()) { v8::Local message[1] = { New(warning).ToLocalChecked() }; - debuglog->Call(1, message); + debuglog->Call(1, message, async_resource); warning = sharp::VipsWarningPop(); } // Return to JavaScript - callback->Call(2, argv); + callback->Call(2, argv, async_resource); } private: diff --git a/src/pipeline.cc b/src/pipeline.cc index 49b5ecaa..fb6ae8b4 100644 --- a/src/pipeline.cc +++ b/src/pipeline.cc @@ -35,7 +35,8 @@ class PipelineWorker : public Nan::AsyncWorker { PipelineWorker( Nan::Callback *callback, PipelineBaton *baton, Nan::Callback *debuglog, Nan::Callback *queueListener, std::vector> const buffersToPersist) : - Nan::AsyncWorker(callback), baton(baton), debuglog(debuglog), queueListener(queueListener), + Nan::AsyncWorker(callback, "sharp:PipelineWorker"), + baton(baton), debuglog(debuglog), queueListener(queueListener), buffersToPersist(buffersToPersist) { // Protect Buffer objects from GC, keyed on index std::accumulate(buffersToPersist.begin(), buffersToPersist.end(), 0, @@ -1014,18 +1015,18 @@ class PipelineWorker : public Nan::AsyncWorker { std::string warning = sharp::VipsWarningPop(); while (!warning.empty()) { v8::Local message[1] = { New(warning).ToLocalChecked() }; - debuglog->Call(1, message); + debuglog->Call(1, message, async_resource); warning = sharp::VipsWarningPop(); } // Decrement processing task counter g_atomic_int_dec_and_test(&sharp::counterProcess); v8::Local queueLength[1] = { New(sharp::counterQueue) }; - queueListener->Call(1, queueLength); + queueListener->Call(1, queueLength, async_resource); delete queueListener; // Return to JavaScript - callback->Call(3, argv); + callback->Call(3, argv, async_resource); } private: @@ -1302,5 +1303,6 @@ NAN_METHOD(pipeline) { // Increment queued task counter g_atomic_int_inc(&sharp::counterQueue); v8::Local queueLength[1] = { Nan::New(sharp::counterQueue) }; - queueListener->Call(1, queueLength); + v8::Local recv = Nan::New(); + Nan::Call(*queueListener, recv, 1, queueLength); } diff --git a/src/stats.cc b/src/stats.cc index 3fb3a710..f9ef1e1e 100644 --- a/src/stats.cc +++ b/src/stats.cc @@ -28,7 +28,8 @@ class StatsWorker : public Nan::AsyncWorker { StatsWorker( Nan::Callback *callback, StatsBaton *baton, Nan::Callback *debuglog, std::vector> const buffersToPersist) : - Nan::AsyncWorker(callback), baton(baton), debuglog(debuglog), + Nan::AsyncWorker(callback, "sharp:StatsWorker"), + baton(baton), debuglog(debuglog), buffersToPersist(buffersToPersist) { // Protect Buffer objects from GC, keyed on index std::accumulate(buffersToPersist.begin(), buffersToPersist.end(), 0, @@ -145,12 +146,12 @@ class StatsWorker : public Nan::AsyncWorker { std::string warning = sharp::VipsWarningPop(); while (!warning.empty()) { v8::Local message[1] = { New(warning).ToLocalChecked() }; - debuglog->Call(1, message); + debuglog->Call(1, message, async_resource); warning = sharp::VipsWarningPop(); } // Return to JavaScript - callback->Call(2, argv); + callback->Call(2, argv, async_resource); } private: