1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 05:27:43 +00:00

Destroy all remaining windows in a process when it dies.

This commit is contained in:
Andreas Kling 2019-01-30 19:35:38 +01:00
parent 3a4207b863
commit 5c25f0c4db
7 changed files with 30 additions and 6 deletions

View file

@ -1490,9 +1490,10 @@ int Process::reap(Process& process)
if (process.ppid()) {
auto* parent = Process::from_pid(process.ppid());
ASSERT(parent);
parent->m_ticks_in_user_for_dead_children += process.m_ticks_in_user + process.m_ticks_in_user_for_dead_children;
parent->m_ticks_in_kernel_for_dead_children += process.m_ticks_in_kernel + process.m_ticks_in_kernel_for_dead_children;
if (parent) {
parent->m_ticks_in_user_for_dead_children += process.m_ticks_in_user + process.m_ticks_in_user_for_dead_children;
parent->m_ticks_in_kernel_for_dead_children += process.m_ticks_in_kernel + process.m_ticks_in_kernel_for_dead_children;
}
}
dbgprintf("reap: %s(%u) {%s}\n", process.name().characters(), process.pid(), toString(process.state()));
@ -2143,4 +2144,5 @@ void Process::die()
{
set_state(Dead);
m_fds.clear();
destroy_all_windows();
}