diff --git a/src/Common/Scheduler/SchedulerRoot.h b/src/Common/Scheduler/SchedulerRoot.h index 7650780dc597..93b7e1a5082c 100644 --- a/src/Common/Scheduler/SchedulerRoot.h +++ b/src/Common/Scheduler/SchedulerRoot.h @@ -250,9 +250,11 @@ class SchedulerRoot final : public ISchedulerNode } Resource * current = nullptr; // round-robin pointer - std::unordered_map children; // resources by pointer std::atomic stop_flag = false; EventQueue events; + /// Resources by pointer. Must be destroyed before the "events", + /// because the descructor of ISchedulerNode might access the mutex in that queue. + std::unordered_map children; ThreadFromGlobalPool scheduler; };