1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:48:11 +00:00

Kernel: Send a SIGCHLD to the parent upon suspension of a process

...that is controlling a TTY.
This commit is contained in:
AnotherTest 2020-08-06 03:22:06 +04:30 committed by Andreas Kling
parent b3d1a05261
commit 05972668d1

View file

@ -155,6 +155,10 @@ void TTY::emit(u8 ch)
if (ch == m_termios.c_cc[VSUSP]) {
dbg() << tty_name() << ": VSUSP pressed!";
generate_signal(SIGTSTP);
if (auto process = Process::from_pid(m_pgid)) {
if (auto parent = Process::from_pid(process->ppid()))
(void)parent->send_signal(SIGCHLD, process);
}
return;
}
}
@ -390,5 +394,4 @@ void TTY::hang_up()
{
generate_signal(SIGHUP);
}
}