1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 14:25:07 +00:00

Kernel: Implement kill(0, signal)

This sends the signal to everyone in the same process group as the
calling process.
This commit is contained in:
Andreas Kling 2019-08-22 21:16:49 +02:00
parent 06de0e670c
commit 32810a920f

View file

@ -1298,8 +1298,11 @@ int Process::sys$kill(pid_t pid, int signal)
if (signal < 0 || signal >= 32) if (signal < 0 || signal >= 32)
return -EINVAL; return -EINVAL;
if (pid == 0) { if (pid == 0) {
// FIXME: Send to same-group processes. Process::for_each_in_pgrp(pgid(), [&](auto& process) {
ASSERT(pid != 0); process.send_signal(signal, this);
return IterationDecision::Continue;
});
return 0;
} }
if (pid == -1) { if (pid == -1) {
// FIXME: Send to all processes. // FIXME: Send to all processes.