44#include < condition_variable>
55#include < mutex>
66#include < thread>
7+ #include < cstdio>
78
89#if (NAPI_VERSION > 3)
910
@@ -30,19 +31,26 @@ class TestWorker : public AsyncProgressWorker<ProgressData> {
3031
3132 protected:
3233 void Execute (const ExecutionProgress& progress) override {
34+ printf (" TestWorker::Execute(): _times: %d\n " , _times);
3335 if (_times < 0 ) {
3436 SetError (" test error" );
3537 }
3638 ProgressData data{0 };
39+ printf (" lock(_cvm);\n " );
3740 std::unique_lock<std::mutex> lock (_cvm);
3841 for (int32_t idx = 0 ; idx < _times; idx++) {
42+ printf (" data.progress = %d\n " , idx);
3943 data.progress = idx;
44+ printf (" progress.Send(data.progress = %zu, 1);\n " , data.progress );
4045 progress.Send (&data, 1 );
46+ printf (" _cv.wait(lock);\n " );
4147 _cv.wait (lock);
48+ printf (" TestWorker::Execute() loop continue;\n " );
4249 }
4350 }
4451
45- void OnProgress (const ProgressData* data, size_t /* count */ ) override {
52+ void OnProgress (const ProgressData* data, size_t count) override {
53+ printf (" TestWorker::OnProgress(): data->progress: %zu, count: %zu\n " , data->progress , count);
4654 Napi::Env env = Env ();
4755 if (!_progress.IsEmpty ()) {
4856 Number progress = Number::New (env, data->progress );
@@ -52,6 +60,7 @@ class TestWorker : public AsyncProgressWorker<ProgressData> {
5260 _progress.MakeCallback (Receiver ().Value (), {progress});
5361#endif
5462 }
63+ printf (" _cv.notify_one()\n " );
5564 _cv.notify_one ();
5665 }
5766
0 commit comments