mirror of
https://github.com/systemd/systemd
synced 2024-10-15 04:24:19 +00:00
core: remove "misuse" of getpgid() in systemd-shutdown
Using `kill()` with a signal of 0 is a slightly more documented idiom for checking whether a process still exists. It is mentioned explicitly in man pages. This avoids the need to comment the call as "misuse". A comment is still necessary - in fact this idiom is even more confusing if you don't know how it works. But it's easy enough to explain.
This commit is contained in:
parent
27b8198e13
commit
3448a96980
|
@ -129,9 +129,9 @@ static void wait_for_children(Set *pids, sigset_t *mask) {
|
|||
* might not be our child. */
|
||||
SET_FOREACH(p, pids, i) {
|
||||
|
||||
/* We misuse getpgid as a check whether a
|
||||
* process still exists. */
|
||||
if (getpgid(PTR_TO_PID(p)) >= 0)
|
||||
/* kill(pid, 0) sends no signal, but it tells
|
||||
* us whether the process still exists. */
|
||||
if (kill(PTR_TO_PID(p), 0) == 0)
|
||||
continue;
|
||||
|
||||
if (errno != ESRCH)
|
||||
|
|
Loading…
Reference in a new issue