rtcwake: fix sys vs. rtc time delta usage
srett commented: After some head scratching why relative wakeup using -s always works while -t didn't seem to work at all I discovered that the adjustment for time difference between sys and rtc is actually inverted when writing the alarm (code for -m show reading is fine), so if the RTC lags 10 minutes behind, the alarm will be shifted into the future by 10 minutes, resulting in a wakeup that is 20 minutes late. Addresses: https://github.com/karelzak/util-linux/issues/544 Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
d1bf0ce5fa
commit
e72027dada
|
@ -532,7 +532,7 @@ int main(int argc, char **argv)
|
|||
if (alarm < ctl.sys_time)
|
||||
errx(EXIT_FAILURE, _("time doesn't go backward to %s"),
|
||||
ctime(&alarm));
|
||||
alarm += ctl.sys_time - ctl.rtc_time;
|
||||
alarm -= ctl.sys_time - ctl.rtc_time;
|
||||
} else
|
||||
alarm = ctl.rtc_time + seconds + 1;
|
||||
|
||||
|
|
Loading…
Reference in New Issue