X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fclock-util.c;h=e4e03df1e47d196f1457e8c2ea00689de0780afb;hp=4f31c10b816ed0a60b5ff0c211f2a6b412eb7127;hb=d8d5781c1eb031477670facc132e198f8fddd56c;hpb=d636d376796ec61c1c14fa619c80d4ac62e08a19 diff --git a/src/shared/clock-util.c b/src/shared/clock-util.c index 4f31c10b8..e4e03df1e 100644 --- a/src/shared/clock-util.c +++ b/src/shared/clock-util.c @@ -19,31 +19,18 @@ along with systemd; If not, see . ***/ -#include -#include -#include #include -#include -#include #include -#include -#include #include #include -#include -#include -#include #include #include #include "macro.h" #include "util.h" -#include "log.h" -#include "strv.h" #include "clock-util.h" -#include "fileio.h" -int clock_get_time(struct tm *tm) { +int clock_get_hwclock(struct tm *tm) { _cleanup_close_ int fd = -1; assert(tm); @@ -64,7 +51,7 @@ int clock_get_time(struct tm *tm) { return 0; } -int clock_set_time(const struct tm *tm) { +int clock_set_hwclock(const struct tm *tm) { _cleanup_close_ int fd = -1; assert(tm); @@ -121,12 +108,13 @@ int clock_set_timezone(int *min) { minutesdelta = tm->tm_gmtoff / 60; tz.tz_minuteswest = -minutesdelta; - tz.tz_dsttime = 0; /* DST_NONE*/ + tz.tz_dsttime = 0; /* DST_NONE */ /* - * If the hardware clock does not run in UTC, but in local time: - * The very first time we set the kernel's timezone, it will warp - * the clock so that it runs in UTC instead of local time. + * If the RTC does not run in UTC but in local time, the very first + * call to settimeofday() will set the kernel's timezone and will warp the + * system clock, so that it runs in UTC instead of the local time we + * have read from the RTC. */ if (settimeofday(tv_null, &tz) < 0) return -errno; @@ -135,17 +123,17 @@ int clock_set_timezone(int *min) { return 0; } -int clock_reset_timezone(void) { +int clock_reset_timewarp(void) { const struct timeval *tv_null = NULL; struct timezone tz; tz.tz_minuteswest = 0; - tz.tz_dsttime = 0; /* DST_NONE*/ + tz.tz_dsttime = 0; /* DST_NONE */ /* - * The very first time we set the kernel's timezone, it will warp - * the clock. Do a dummy call here, so the time warping is sealed - * and we set only the timezone with the next call. + * The very first call to settimeofday() does time warp magic. Do a + * dummy call here, so the time warping is sealed and all later calls + * behave as expected. */ if (settimeofday(tv_null, &tz) < 0) return -errno;