diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 09:29:43 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 09:29:43 +0000 |
commit | b44c790e41e281965955a83408f35ea53ecdb3d2 (patch) | |
tree | 98514dba64f7b74b9d60882bfeca1e2c4976b033 /miscutils/watchdog.c | |
parent | d25c33f186c7cf3618c34ce79af94fe156f9ab02 (diff) | |
download | busybox-w32-b44c790e41e281965955a83408f35ea53ecdb3d2.tar.gz busybox-w32-b44c790e41e281965955a83408f35ea53ecdb3d2.tar.bz2 busybox-w32-b44c790e41e281965955a83408f35ea53ecdb3d2.zip |
*: fix various kinds of damage to letter 'c' in Arkadiusz Mickiewicz' surname.
chrt,taskset,dc,eject: shrink
crontab: call "vi" with just name, no path
watchdog: intercept all fatal signals
function old new delta
xstrtoull_range - 35 +35
static.sg_commands - 18 +18
packed_usage 23698 23712 +14
watchdog_main 148 151 +3
crontab_main 637 638 +1
base 1 - -1
static.ps 4 - -4
pointer 4 - -4
stack_machine 99 92 -7
run_command 273 260 -13
eject_main 360 343 -17
static.C 30 12 -18
ptok 61 38 -23
xstrtol_range 27 - -27
get_token 35 - -35
taskset_main 586 550 -36
chrt_main 411 372 -39
dc_main 158 117 -41
time_main 1127 1037 -90
------------------------------------------------------------------------------
(add/remove: 2/5 grow/shrink: 3/9 up/down: 71/-355) Total: -284 bytes
text data bss dec hex filename
793680 662 7420 801762 c3be2 busybox_old
793327 662 7412 801401 c3a79 busybox_unstripped
Diffstat (limited to 'miscutils/watchdog.c')
-rw-r--r-- | miscutils/watchdog.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c index 28bd35813..7fb16b861 100644 --- a/miscutils/watchdog.c +++ b/miscutils/watchdog.c | |||
@@ -13,8 +13,7 @@ | |||
13 | #define OPT_FOREGROUND 0x01 | 13 | #define OPT_FOREGROUND 0x01 |
14 | #define OPT_TIMER 0x02 | 14 | #define OPT_TIMER 0x02 |
15 | 15 | ||
16 | static void watchdog_shutdown(int ATTRIBUTE_UNUSED sig) ATTRIBUTE_NORETURN; | 16 | static void watchdog_shutdown(int sig ATTRIBUTE_UNUSED) |
17 | static void watchdog_shutdown(int ATTRIBUTE_UNUSED sig) | ||
18 | { | 17 | { |
19 | static const char V = 'V'; | 18 | static const char V = 'V'; |
20 | 19 | ||
@@ -47,14 +46,19 @@ int watchdog_main(int argc, char **argv) | |||
47 | bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv); | 46 | bb_daemonize_or_rexec(DAEMON_CHDIR_ROOT, argv); |
48 | } | 47 | } |
49 | 48 | ||
50 | bb_signals(0 | 49 | bb_signals(BB_SIGS_FATAL, watchdog_shutdown); |
51 | + (1 << SIGHUP) | ||
52 | + (1 << SIGINT) | ||
53 | , watchdog_shutdown); | ||
54 | 50 | ||
55 | /* Use known fd # - avoid needing global 'int fd' */ | 51 | /* Use known fd # - avoid needing global 'int fd' */ |
56 | xmove_fd(xopen(argv[argc - 1], O_WRONLY), 3); | 52 | xmove_fd(xopen(argv[argc - 1], O_WRONLY), 3); |
57 | 53 | ||
54 | // TODO? | ||
55 | // if (!(opts & OPT_TIMER)) { | ||
56 | // if (ioctl(fd, WDIOC_GETTIMEOUT, &timer_duration) == 0) | ||
57 | // timer_duration *= 500; | ||
58 | // else | ||
59 | // timer_duration = 30000; | ||
60 | // } | ||
61 | |||
58 | while (1) { | 62 | while (1) { |
59 | /* | 63 | /* |
60 | * Make sure we clear the counter before sleeping, as the counter value | 64 | * Make sure we clear the counter before sleeping, as the counter value |