Merge pull request #4403 from wwylele/kernel-dtor-2
Kernel: thread manager still has to be destructed first
This commit is contained in:
commit
4228cd8b60
|
@ -228,7 +228,13 @@ private:
|
||||||
std::unique_ptr<ResourceLimitList> resource_limits;
|
std::unique_ptr<ResourceLimitList> resource_limits;
|
||||||
std::atomic<u32> next_object_id{0};
|
std::atomic<u32> next_object_id{0};
|
||||||
|
|
||||||
std::unique_ptr<ThreadManager> thread_manager;
|
// Note: keep the member order below in order to perform correct destruction.
|
||||||
|
// Thread manager is destructed before process list in order to Stop threads and clear thread
|
||||||
|
// info from their parent processes first. Timer manager is destructed after process list
|
||||||
|
// because timers are destructed along with process list and they need to clear info from the
|
||||||
|
// timer manager.
|
||||||
|
// TODO (wwylele): refactor the cleanup sequence to make this less complicated and sensitive.
|
||||||
|
|
||||||
std::unique_ptr<TimerManager> timer_manager;
|
std::unique_ptr<TimerManager> timer_manager;
|
||||||
|
|
||||||
// TODO(Subv): Start the process ids from 10 for now, as lower PIDs are
|
// TODO(Subv): Start the process ids from 10 for now, as lower PIDs are
|
||||||
|
@ -240,6 +246,8 @@ private:
|
||||||
|
|
||||||
SharedPtr<Process> current_process;
|
SharedPtr<Process> current_process;
|
||||||
|
|
||||||
|
std::unique_ptr<ThreadManager> thread_manager;
|
||||||
|
|
||||||
std::unique_ptr<ConfigMem::Handler> config_mem_handler;
|
std::unique_ptr<ConfigMem::Handler> config_mem_handler;
|
||||||
std::unique_ptr<SharedPage::Handler> shared_page_handler;
|
std::unique_ptr<SharedPage::Handler> shared_page_handler;
|
||||||
};
|
};
|
||||||
|
|
Reference in New Issue