diff options
| author | srdusr <[email protected]> | 2025-02-10 09:35:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2025-02-10 09:35:00 +0200 |
| commit | b1609928eeea54578cd0cd18935110260cb23a11 (patch) | |
| tree | 48d84542ce460b7efc580b1a6902883e28f9ae5e /crates/wayland/src/state/mod.rs | |
| parent | 1320536187c822654dbd33d45649b3e151d54815 (diff) | |
| download | srdwm-b1609928eeea54578cd0cd18935110260cb23a11.tar.gz srdwm-b1609928eeea54578cd0cd18935110260cb23a11.zip | |
Reap spawned child processes instead of leaking zombies
Every srd.spawn/Command::spawn call fires and forgets its Child handle
by design (a compositor's main loop can't block waiting on an arbitrary
launched command), but nothing else was reaping them either, so every
one that exited stayed a zombie for the rest of the session. Confirmed
live via an AGS peer session's own ps: six zombies from four different
programs, spread across half an hour of ordinary use.
Explicitly ignoring SIGCHLD is the standard fix for exactly this case --
the kernel reaps exited children itself, no waitpid loop needed.
Diffstat (limited to 'crates/wayland/src/state/mod.rs')
0 files changed, 0 insertions, 0 deletions