diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2019-02-24 12:12:03 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2019-02-24 12:12:03 +0300 |
commit | aeaa051f3bd2dd74f664eeba87c9f2140e0b178e (patch) | |
tree | 6d84a5a145256953ef06ffa577ddc5608382a5f1 | |
parent | f3be186911ca2a4ab1c7482e405babdc0cbad839 (diff) |
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 <corinna@vinschen.de>
-rw-r--r-- | winsup/cygwin/posix_timer.cc | 2 | ||||
-rw-r--r-- | winsup/cygwin/release/3.0.2 | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/posix_timer.cc b/winsup/cygwin/posix_timer.cc index a76ba0694..0332cab92 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 0f3f4f741..c1a18a903 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 |