From 013e2bd9ecf85a8e7c94459aae17ad6d03bbcc31 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 22 Jan 2019 15:45:58 +0100 Subject: [PATCH] Cygwin: posix timers: Add support for CLOCK_REALTIME_ALARM/CLOCK_BOOTTIME_ALARM Signed-off-by: Corinna Vinschen --- winsup/cygwin/posix_timer.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/winsup/cygwin/posix_timer.cc b/winsup/cygwin/posix_timer.cc index d4f2575f1..8651c226c 100644 --- a/winsup/cygwin/posix_timer.cc +++ b/winsup/cygwin/posix_timer.cc @@ -169,9 +169,8 @@ timer_tracker::thread_func () interval. Restart timer here with new due time. */ if (interval > INT_MAX * (NS100PERSEC / MSPERSEC)) { - /* TODO: CLOCK_REALTIME_ALARM / CLOCK_BOOTTIME_ALARM - See comment in arm_timer */ - BOOL Resume = FALSE; + BOOLEAN Resume = (clock_id == CLOCK_REALTIME_ALARM + || clock_id == CLOCK_BOOTTIME_ALARM); LARGE_INTEGER DueTime = { QuadPart: -interval }; NtSetTimer (timer, &DueTime, NULL, NULL, Resume, 0, NULL); @@ -386,10 +385,10 @@ timer_tracker::settime (int flags, const itimerspec *new_value, overrun_count_curr = 0; overrun_count = 0; overrun_event_running = OVR_EVENT_DISARMED; - /* TODO: CLOCK_REALTIME_ALARM / CLOCK_BOOTTIME_ALARM - Note: Advanced Power Settings -> Sleep -> Allow Wake Timers - since W10 1709 */ - Resume = FALSE; + /* Note: Advanced Power Settings -> Sleep -> Allow Wake Timers + since W10 1709 */ + Resume = (clock_id == CLOCK_REALTIME_ALARM + || clock_id == CLOCK_BOOTTIME_ALARM); if (interval > INT_MAX * (NS100PERSEC / MSPERSEC)) Period = 0; else -- 2.43.5