https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=aeaa051f3bd2dd74f664eeba87c9f2140e0b178e
commit aeaa051f3bd2dd74f664eeba87c9f2140e0b178e Author: Corinna Vinschen <[email protected]> Date: Sun Feb 24 10:12:03 2019 +0100 Cygwin: POSIX timers: Fix timer values returned for unarmed timer The "optimized" condition to recognize an unarmed timer was plain wrong. Replace it by checking the stored it_value against 0. Signed-off-by: Corinna Vinschen <[email protected]> Diff: --- winsup/cygwin/posix_timer.cc | 2 +- winsup/cygwin/release/3.0.2 | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/posix_timer.cc b/winsup/cygwin/posix_timer.cc index a76ba06..0332cab 100644 --- a/winsup/cygwin/posix_timer.cc +++ b/winsup/cygwin/posix_timer.cc @@ -245,7 +245,7 @@ timer_tracker::gettime (itimerspec *curr_value, bool lock) return -EINVAL; } } - if (!cancel_evt) + if (!time_spec.it_value.tv_sec && !time_spec.it_value.tv_nsec) memset (curr_value, 0, sizeof (*curr_value)); else { diff --git a/winsup/cygwin/release/3.0.2 b/winsup/cygwin/release/3.0.2 index 0f3f4f7..c1a18a9 100644 --- a/winsup/cygwin/release/3.0.2 +++ b/winsup/cygwin/release/3.0.2 @@ -18,3 +18,6 @@ Bug Fixes - Fix and speed up evaluation of group membership in seteuid. Addresses: Local testing. + +- Fix getitimer/timer_gettime values returned for unarmed timer. + Addresses: https://cygwin.com/ml/cygwin/2019-02/msg00395.html
