File bsc1216825.patch of Package procps.37642
---
top/top.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- top/top.c
+++ top/top.c 2023-11-24 10:25:41.237304278 +0000
@@ -396,6 +396,11 @@ static void at_eoj (void) {
* The real program end */
static void bye_bye (const char *str) NORETURN;
static void bye_bye (const char *str) {
+ sigset_t ss;
+
+// POSIX.1-2004 async-signal-safe: sigfillset, sigprocmask
+ sigfillset(&ss);
+ sigprocmask(SIG_BLOCK, &ss, NULL);
at_eoj(); // restore tty in preparation for exit
#ifdef ATEOJ_RPTSTD
{ proc_t *p;
@@ -606,11 +611,6 @@ static void sig_abexit (int sig) {
* SIGUSR1 and SIGUSR2 */
static void sig_endpgm (int dont_care_sig) NORETURN;
static void sig_endpgm (int dont_care_sig) {
- sigset_t ss;
-
-// POSIX.1-2004 async-signal-safe: sigfillset, sigprocmask
- sigfillset(&ss);
- sigprocmask(SIG_BLOCK, &ss, NULL);
Frames_signal = BREAK_sig;
bye_bye(NULL);
(void)dont_care_sig;