diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2021-06-05 16:20:05 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2021-06-05 16:20:05 +0200 |
commit | 5dadd497ffd9835a2860cf89ad781d1b513803dc (patch) | |
tree | 7ad8eb72b3cd1b5a3d94cd6d2ead9e86f2779c0a /console-tools/showkey.c | |
parent | d3e1090308b6d3c55e01a2000a743b73605ddd7f (diff) | |
download | busybox-w32-5dadd497ffd9835a2860cf89ad781d1b513803dc.tar.gz busybox-w32-5dadd497ffd9835a2860cf89ad781d1b513803dc.tar.bz2 busybox-w32-5dadd497ffd9835a2860cf89ad781d1b513803dc.zip |
runsv: robustify signal handling - SIGTERM to child between vfork and exec could mess things up
While at it, rename bb_signals_recursive_norestart() to bb_signals_norestart():
"recursive" was implying we are setting SA_NODEFER allowing signal handler
to be entered recursively, but we do not do that.
function old new delta
bb_signals_norestart - 70 +70
startservice 380 394 +14
bb_signals_recursive_norestart 70 - -70
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/0 up/down: 84/-70) Total: 14 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'console-tools/showkey.c')
-rw-r--r-- | console-tools/showkey.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/console-tools/showkey.c b/console-tools/showkey.c index 4d7a9b9e5..84eb38a0a 100644 --- a/console-tools/showkey.c +++ b/console-tools/showkey.c | |||
@@ -106,7 +106,7 @@ int showkey_main(int argc UNUSED_PARAM, char **argv) | |||
106 | xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)((option_mask32 & OPT_k) ? K_MEDIUMRAW : K_RAW)); | 106 | xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)((option_mask32 & OPT_k) ? K_MEDIUMRAW : K_RAW)); |
107 | 107 | ||
108 | // we should exit on any signal; signals should interrupt read | 108 | // we should exit on any signal; signals should interrupt read |
109 | bb_signals_recursive_norestart(BB_FATAL_SIGS, record_signo); | 109 | bb_signals_norestart(BB_FATAL_SIGS, record_signo); |
110 | 110 | ||
111 | // inform user that program ends after time of inactivity | 111 | // inform user that program ends after time of inactivity |
112 | printf(press_keys, "10s after last keypress"); | 112 | printf(press_keys, "10s after last keypress"); |