From 484bdc5ca6c4b1b80ae03b24142f65e8efa5e95b Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Mon, 2 Feb 2026 21:21:07 +0100 Subject: [PATCH] lib/pager: Call _exit in signal handler, not raise The signals are registered without SA_RESETHAND, which means that the same signal handler is called over and over again. This just works because eventually, the waitpid call will fail, leading to a suppressed error message (because stderr is already closed) and then an _exit(EXIT_FAILURE) call. Just call _exit(EXIT_FAILURE) directly to avoid unneeded and failing system calls. Signed-off-by: Tobias Stoeckmann --- lib/pager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pager.c b/lib/pager.c index 9cbf6383f..19bbb0781 100644 --- a/lib/pager.c +++ b/lib/pager.c @@ -113,11 +113,11 @@ static void wait_for_pager(void) } while (waiting == -1); } -static void wait_for_pager_signal(int signo) +static void wait_for_pager_signal(int signo __attribute__ ((__unused__))) { UL_PROTECT_ERRNO; wait_for_pager(); - raise(signo); + _exit(EXIT_FAILURE); } static int has_command(const char *cmd) -- 2.47.3