[Patch V2 0/4] unshare: fix signal forwarding to child processes
Kiran Rangoon <[email protected]> Tue, 13 Jan 2026 12:29:38 -0500
| Newsgroups | org.kernel.vger.util-linux |
|---|---|
| Message-ID | <[email protected]> |
Changes in V2 (responding to feedback from karelzak): - Made signal forwarding opt-in via new --forward-signals flag - Preserves default behavior (signals blocked) for backward compatibility - Addresses concerns from PR #1087 about "impatient parent" problem This adds --forward-signals to enable graceful shutdown of child processes during system reboot. Since util-linux 2.36, unshare blocks SIGTERM/SIGINT to prevent premature parent exit, but this prevents children from receiving shutdown signals for cleanup. The new flag installs signal handlers instead of blocking, forwards signals to the child, and properly handles EINTR in waitpid(). Includes tests for basic forwarding and --kill-child compatibility. Kiran Rangoon (4): unshare: add --forward-signals option to argument parser unshare: implement signal forwarding when --forward-signals is used unshare: document --forward-signals in man page tests: add tests for unshare --forward-signals sys-utils/unshare.1.adoc | 13 ++++ sys-utils/unshare.c | 67 +++++++++++++++++-- tests/expected/unshare/forward-signals | 1 + .../unshare/forward-signals-kill-child | 1 + tests/ts/unshare/forward-signals | 55 +++++++++++++++ tests/ts/unshare/forward-signals-kill-child | 56 ++++++++++++++++ 6 files changed, 186 insertions(+), 7 deletions(-) create mode 100644 tests/expected/unshare/forward-signals create mode 100644 tests/expected/unshare/forward-signals-kill-child create mode 100755 tests/ts/unshare/forward-signals create mode 100755 tests/ts/unshare/forward-signals-kill-child -- 2.47.3