1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 18:15:07 +00:00

Kernel: Don't send SIGCHLD to parent process if he has SA_NOCLDWAIT set.

Just transfer ownership of the dead process to the colonel and let the
scheduler reap it on next iteration.
This commit is contained in:
Andreas Kling 2019-03-01 15:47:07 +01:00
parent 5f4245789d
commit 274b0260f7
3 changed files with 18 additions and 2 deletions

View file

@ -138,7 +138,7 @@ bool Scheduler::pick_next()
}
if (process.state() == Process::Dead) {
if (current != &process && !Process::from_pid(process.ppid())) {
if (current != &process && (!process.ppid() || !Process::from_pid(process.ppid()))) {
auto name = process.name();
auto pid = process.pid();
auto exit_status = Process::reap(process);