diff --git a/mlx/data/core/ThreadPool.cpp b/mlx/data/core/ThreadPool.cpp index 6d2c986..f70ac1a 100644 --- a/mlx/data/core/ThreadPool.cpp +++ b/mlx/data/core/ThreadPool.cpp @@ -51,7 +51,10 @@ ThreadPool::ThreadPool(size_t thread_count) { } ThreadPool::~ThreadPool() { - stop_threads_ = true; + { + std::lock_guard lock(task_mutex_); + stop_threads_ = true; + } task_cv_.notify_all(); for (std::thread& thread : threads_) {