Kernel: Move process termination status/signal into protected data

This commit is contained in:
Andreas Kling 2021-03-11 14:24:08 +01:00
commit 1608ef37d8
Notes: sideshowbarker 2024-07-18 21:31:21 +09:00
3 changed files with 16 additions and 7 deletions

View file

@ -334,7 +334,10 @@ void Process::crash(int signal, u32 eip, bool out_of_memory)
}
dump_backtrace();
}
m_termination_signal = signal;
{
ProtectedDataMutationScope scope { *this };
m_termination_signal = signal;
}
set_dump_core(!out_of_memory);
space().dump_regions();
VERIFY(is_user_process());
@ -578,8 +581,11 @@ void Process::terminate_due_to_signal(u8 signal)
VERIFY(signal < 32);
VERIFY(Process::current() == this);
dbgln("Terminating {} due to signal {}", *this, signal);
m_termination_status = 0;
m_termination_signal = signal;
{
ProtectedDataMutationScope scope { *this };
m_termination_status = 0;
m_termination_signal = signal;
}
die();
}