diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2020-11-29 11:32:48 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2020-11-29 11:32:48 +0100 |
commit | 87bd558f3f0452ed62f2686472e03a1be4a6e36d (patch) | |
tree | 46fb42606d1d8ba65211e5e2f4261830a01b8c00 /libbb | |
parent | 32a8f70ac1caa4037b63747c0c0a5086953ea668 (diff) | |
download | busybox-w32-87bd558f3f0452ed62f2686472e03a1be4a6e36d.tar.gz busybox-w32-87bd558f3f0452ed62f2686472e03a1be4a6e36d.tar.bz2 busybox-w32-87bd558f3f0452ed62f2686472e03a1be4a6e36d.zip |
libbb: bb_do_delay(3) -> pause_after_failed_login(), and stop looping there
function old new delta
pause_after_failed_login - 9 +9
vlock_main 358 353 -5
sulogin_main 252 247 -5
su_main 484 479 -5
passwd_main 936 931 -5
login_main 967 962 -5
bb_do_delay 68 - -68
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/5 up/down: 9/-93) Total: -84 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/bb_do_delay.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/libbb/bb_do_delay.c b/libbb/bb_do_delay.c index 65541704b..29343305d 100644 --- a/libbb/bb_do_delay.c +++ b/libbb/bb_do_delay.c | |||
@@ -8,13 +8,23 @@ | |||
8 | */ | 8 | */ |
9 | #include "libbb.h" | 9 | #include "libbb.h" |
10 | 10 | ||
11 | void FAST_FUNC bb_do_delay(int seconds) | 11 | /* void FAST_FUNC bb_do_delay(int seconds) { ... } - no users yet */ |
12 | |||
13 | #ifndef LOGIN_FAIL_DELAY | ||
14 | #define LOGIN_FAIL_DELAY 3 | ||
15 | #endif | ||
16 | void FAST_FUNC pause_after_failed_login(void) | ||
12 | { | 17 | { |
13 | time_t start, now; | 18 | #if 0 /* over-engineered madness */ |
19 | time_t end, diff; | ||
14 | 20 | ||
15 | start = time(NULL); | 21 | end = time(NULL) + LOGIN_FAIL_DELAY; |
22 | diff = LOGIN_FAIL_DELAY; | ||
16 | do { | 23 | do { |
17 | sleep(seconds); | 24 | sleep(diff); |
18 | now = time(NULL); | 25 | diff = end - time(NULL); |
19 | } while ((now - start) < seconds); | 26 | } while (diff > 0); |
27 | #else | ||
28 | sleep(LOGIN_FAIL_DELAY); | ||
29 | #endif | ||
20 | } | 30 | } |