diff --git a/src/runtime/thread_pool.cc b/src/runtime/thread_pool.cc index c11e9f7ac084..c8d1845266e8 100644 --- a/src/runtime/thread_pool.cc +++ b/src/runtime/thread_pool.cc @@ -276,8 +276,9 @@ class ThreadPool { for (std::unique_ptr& q : queues_) { q->SignalForKill(); } - queues_.clear(); + // Destroy threads before we destory the shared queue, otherwise we segfault on MacOS threads_.reset(); + queues_.clear(); Init(); }