diff --git a/js_concurrent_module/taskpool/task_runner.h b/js_concurrent_module/taskpool/task_runner.h index dde93e1516506ed0093e8c869593c24261e66a21..9b8647749f52d9a587af40cd7725164a459129f0 100644 --- a/js_concurrent_module/taskpool/task_runner.h +++ b/js_concurrent_module/taskpool/task_runner.h @@ -39,7 +39,10 @@ public: class TaskInnerRunner : public Thread { public: explicit TaskInnerRunner(const TaskRunner* runner); - ~TaskInnerRunner() = default; + ~TaskInnerRunner() { + uv_thread_join(&tid_); + } + void Run() override; private: diff --git a/js_concurrent_module/taskpool/thread.h b/js_concurrent_module/taskpool/thread.h index c261cb5263d65e4a9d7b2c6e8977f85c334020af..9d69768d97ad99e04c33bde6f7eff100506a6b72 100644 --- a/js_concurrent_module/taskpool/thread.h +++ b/js_concurrent_module/taskpool/thread.h @@ -31,7 +31,7 @@ public: return tid_; } -private: +protected: uv_thread_t tid_ {0}; }; } // namespace Commonlibrary::Concurrent::TaskPoolModule diff --git a/js_concurrent_module/worker/thread.h b/js_concurrent_module/worker/thread.h index 3870a545018fbc627dee5d69c5a9cb1ac4286a1f..560245d43461720943f04747346f90065160f2bc 100644 --- a/js_concurrent_module/worker/thread.h +++ b/js_concurrent_module/worker/thread.h @@ -31,7 +31,7 @@ public: return tId_; } -private: +protected: uv_thread_t tId_ {0}; }; } // namespace Commonlibrary::Concurrent::WorkerModule diff --git a/js_concurrent_module/worker/worker_runner.h b/js_concurrent_module/worker/worker_runner.h index c2ccc2c7829dc1cb70d1d4078665f55febcc0a84..d139332e2a52e50299355c60e90e7b4ee9035778 100644 --- a/js_concurrent_module/worker/worker_runner.h +++ b/js_concurrent_module/worker/worker_runner.h @@ -39,7 +39,10 @@ public: class WorkerInnerRunner : public Thread { public: explicit WorkerInnerRunner(const WorkerRunner* runner); - ~WorkerInnerRunner() = default; + ~WorkerInnerRunner() { + uv_thread_join(&tId_); + } + void Run() override; private: