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>
This commit is contained in:
Corinna Vinschen 2019-02-24 10:12:03 +01:00
parent f3be186911
commit aeaa051f3b
2 changed files with 4 additions and 1 deletions

View File

@ -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
{

View File

@ -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