libbb: introduce and use xsettimeofday()
function old new delta xsettimeofday - 25 +25 rdate_main 274 260 -14 step_time 348 331 -17 set_kernel_timezone_and_clock 119 102 -17 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/3 up/down: 25/-48) Total: -23 bytes text data bss dec hex filename 1020753 559 5052 1026364 fa93c busybox_old 1020708 559 5052 1026319 fa90f busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -184,10 +184,8 @@ static void set_kernel_timezone_and_clock(int utc, const struct timeval *hctosys
|
||||
/*tz.tz_dsttime = 0; already is */
|
||||
set_kernel_tz(&tz); /* MIGHT warp_clock() if 1st call since boot */
|
||||
|
||||
if (hctosys) { /* it's --hctosys: set time too */
|
||||
if (settimeofday(hctosys, NULL))
|
||||
bb_simple_perror_msg_and_die("settimeofday");
|
||||
}
|
||||
if (hctosys) /* it's --hctosys: set time too */
|
||||
xsettimeofday(hctosys);
|
||||
}
|
||||
|
||||
static void to_sys_clock(const char **pp_rtcname, int utc)
|
||||
|
@ -96,11 +96,10 @@ int rdate_main(int argc UNUSED_PARAM, char **argv)
|
||||
if (time(NULL) == remote_time)
|
||||
bb_simple_error_msg("current time matches remote time");
|
||||
else {
|
||||
struct timespec ts;
|
||||
struct timeval ts;
|
||||
ts.tv_sec = remote_time;
|
||||
ts.tv_nsec = 0;
|
||||
if (clock_settime(CLOCK_REALTIME, &ts) < 0)
|
||||
bb_simple_perror_msg_and_die("can't set time of day");
|
||||
ts.tv_usec = 0;
|
||||
xsettimeofday(&ts);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user