Kernel: Ignore signals sent to threadless (zombie) processes

If a process doesn't have any threads left, it's in a zombie state and
we can't meaningfully send signals to it. So just ignore them.

Fixes #1313.
This commit is contained in:
Andreas Kling 2020-02-27 11:03:21 +01:00
parent 5aa5ce53bc
commit 4a293e8a21

View file

@ -3719,6 +3719,8 @@ void Process::terminate_due_to_signal(u8 signal)
void Process::send_signal(u8 signal, Process* sender)
{
InterruptDisabler disabler;
if (!m_thread_count)
return;
auto* thread = Thread::from_tid(m_pid);
if (!thread)
thread = &any_thread();