aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2020-11-29 11:32:48 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2020-11-29 11:32:48 +0100
commit87bd558f3f0452ed62f2686472e03a1be4a6e36d (patch)
tree46fb42606d1d8ba65211e5e2f4261830a01b8c00 /libbb
parent32a8f70ac1caa4037b63747c0c0a5086953ea668 (diff)
downloadbusybox-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.c22
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
11void 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
16void 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}