From bd7bb299c0e9ee5ff52c9d12b46fb14a907b34da Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 17 Jun 2007 23:40:26 +0000 Subject: wget: use monotonic_sec instead of gettimeofday zcip: use monotonic_us instead of gettimeofday udhcpcd: simpler, shorter random_xid() function old new delta monotonic_sec - 41 +41 find_pair 164 180 +16 run_list_real 2018 2028 +10 cmp_main 547 555 +8 collect_ctx 112 119 +7 singlemount 4544 4549 +5 time_main 1124 1128 +4 static.start_sec - 4 +4 static.lastupdate_sec - 4 +4 sock - 4 +4 read_package_field 253 257 +4 pick 38 40 +2 get_next_line 145 147 +2 count_lines 59 61 +2 process_stdin 435 433 -2 xstrtoul_range_sfx 229 226 -3 static.initialized 4 1 -3 dhcprelay_main 1125 1122 -3 catcher 380 377 -3 arping_main 1969 1966 -3 s 8 4 -4 cfg 4 - -4 static.lastupdate 8 - -8 start 8 - -8 random_xid 95 33 -62 .rodata 129114 129050 -64 zcip_main 1731 1576 -155 progressmeter 1035 867 -168 ------------------------------------------------------------------------------ (add/remove: 4/3 grow/shrink: 10/11 up/down: 113/-490) Total: -377 bytes --- libbb/time.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'libbb/time.c') diff --git a/libbb/time.c b/libbb/time.c index f2a741521..3e35542f3 100644 --- a/libbb/time.c +++ b/libbb/time.c @@ -21,12 +21,23 @@ unsigned long long monotonic_us(void) bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); return ts.tv_sec * 1000000ULL + ts.tv_nsec/1000; } +unsigned monotonic_sec(void) +{ + struct timespec ts; + if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, &ts)) + bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); + return ts.tv_sec; +} #else unsigned long long monotonic_us(void) { struct timeval tv; - if (gettimeofday(&tv, NULL)) - bb_error_msg_and_die("gettimeofday failed"); + gettimeofday(&tv, NULL); return tv.tv_sec * 1000000ULL + tv_usec; } + +unsigned monotonic_sec(void) +{ + return time(NULL); +} #endif -- cgit v1.2.3