From 73e5367fb65cae71a01d1c63f4236eca1bd1671a Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Wed, 30 Nov 2016 11:42:29 -0800 Subject: [PATCH] fix(library/mt_task_queue): make sure thread finalizers are executed even if lean was compiled without pthread support --- src/library/mt_task_queue.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/library/mt_task_queue.cpp b/src/library/mt_task_queue.cpp index 90b06874a7..bf12f67484 100644 --- a/src/library/mt_task_queue.cpp +++ b/src/library/mt_task_queue.cpp @@ -76,7 +76,11 @@ void mt_task_queue::spawn_worker() { unique_lock lock(m_mutex); scoped_add dec_required(m_required_workers, -1); while (true) { - if (m_shutting_down) return; + if (m_shutting_down) { + run_thread_finalizers(); + run_post_thread_finalizers(); + return; + } if (m_required_workers < 0) { scoped_add inc_required(m_required_workers, +1); scoped_add inc_sleeping(m_sleeping_workers, +1);