diff options
author | Denys Vlasenko | 2018-08-03 18:17:12 +0200 |
---|---|---|
committer | Denys Vlasenko | 2018-08-03 18:17:12 +0200 |
commit | 4c20d9f2b0223874e2b5ac1235d5f33fdd02589b (patch) | |
tree | e533a2de1fe3e146bb1dcd410e7c6ff6b68fa0a6 /coreutils/timeout.c | |
parent | 9b1c8bf89be668a533505e5fb4405bac6eed651c (diff) | |
download | busybox-4c20d9f2b0223874e2b5ac1235d5f33fdd02589b.zip busybox-4c20d9f2b0223874e2b5ac1235d5f33fdd02589b.tar.gz |
extend fractional duration support to "top -d N.N" and "timeout"
function old new delta
parse_duration_str - 168 +168
sleep_for_duration - 157 +157
top_main 885 928 +43
timeout_main 269 312 +43
handle_input 571 614 +43
duration_suffixes - 40 +40
sfx 40 - -40
sleep_main 364 79 -285
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 3/1 up/down: 494/-325) Total: 169 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils/timeout.c')
-rw-r--r-- | coreutils/timeout.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/coreutils/timeout.c b/coreutils/timeout.c index 4a6117f..663303c 100644 --- a/coreutils/timeout.c +++ b/coreutils/timeout.c @@ -52,7 +52,8 @@ int timeout_main(int argc UNUSED_PARAM, char **argv) int signo; int status; int parent = 0; - int timeout = 10; + unsigned timeout; + const char *timeout_s = "10"; pid_t pid; #if !BB_MMU char *sv1, *sv2; @@ -63,11 +64,12 @@ int timeout_main(int argc UNUSED_PARAM, char **argv) /* -t SECONDS; -p PARENT_PID */ /* '+': stop at first non-option */ - getopt32(argv, "+s:t:+" USE_FOR_NOMMU("p:+"), &opt_s, &timeout, &parent); + getopt32(argv, "+s:t:" USE_FOR_NOMMU("p:+"), &opt_s, &timeout_s, &parent); /*argv += optind; - no, wait for bb_daemonize_or_rexec! */ signo = get_signum(opt_s); if (signo < 0) bb_error_msg_and_die("unknown signal '%s'", opt_s); + timeout = parse_duration_str((char*)timeout_s); /* We want to create a grandchild which will watch * and kill the grandparent. Other methods: |