mirror of
https://github.com/RGBCube/serenity
synced 2025-07-23 20:57:41 +00:00
Kernel: Send a SIGCHLD to the parent upon suspension of a process
...that is controlling a TTY.
This commit is contained in:
parent
b3d1a05261
commit
05972668d1
1 changed files with 4 additions and 1 deletions
|
@ -155,6 +155,10 @@ void TTY::emit(u8 ch)
|
||||||
if (ch == m_termios.c_cc[VSUSP]) {
|
if (ch == m_termios.c_cc[VSUSP]) {
|
||||||
dbg() << tty_name() << ": VSUSP pressed!";
|
dbg() << tty_name() << ": VSUSP pressed!";
|
||||||
generate_signal(SIGTSTP);
|
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;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -390,5 +394,4 @@ void TTY::hang_up()
|
||||||
{
|
{
|
||||||
generate_signal(SIGHUP);
|
generate_signal(SIGHUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue