Kernel: Ignore SIGCHLD by default.

Also use an enum for the rather-confusing return value in dispatch_signal().
I will go through the rest of the signals and set them up with the
appropriate default dispositions at some other point.
This commit is contained in:
Andreas Kling 2019-02-04 14:06:38 +01:00
commit d7307c3119
Notes: sideshowbarker 2024-07-19 15:52:18 +09:00
4 changed files with 30 additions and 11 deletions

View file

@ -134,7 +134,7 @@ bool Scheduler::pick_next()
return true;
// NOTE: dispatch_one_pending_signal() may unblock the process.
bool was_blocked = process.is_blocked();
if (!process.dispatch_one_pending_signal())
if (process.dispatch_one_pending_signal() == ShouldUnblockProcess::No)
return true;
if (was_blocked) {
dbgprintf("Unblock %s(%u) due to signal\n", process.name().characters(), process.pid());