From: Victor Stinner Date: Wed, 3 Sep 2014 07:43:48 +0000 (+0200) Subject: Issue #22043: Fix pymonotonic(), use tv_usec=-1 as a marker to skip X-Git-Tag: v3.5.0a1~974 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5789cfbb5650b6a4dc92cb466831dabad9f3b42d;p=python Issue #22043: Fix pymonotonic(), use tv_usec=-1 as a marker to skip the monotonic test --- diff --git a/Python/pytime.c b/Python/pytime.c index 9964195378..a8460c6867 100644 --- a/Python/pytime.c +++ b/Python/pytime.c @@ -121,7 +121,7 @@ static int pymonotonic(_PyTime_timeval *tp, _Py_clock_info_t *info, int raise) { #ifdef Py_DEBUG - static _PyTime_timeval last = {-1, -1}; + static _PyTime_timeval last = {0, -1}; #endif #if defined(MS_WINDOWS) static ULONGLONG (*GetTickCount64) (void) = NULL; @@ -247,7 +247,8 @@ pymonotonic(_PyTime_timeval *tp, _Py_clock_info_t *info, int raise) assert(0 <= tp->tv_usec && tp->tv_usec < 1000 * 1000); #ifdef Py_DEBUG /* monotonic clock cannot go backward */ - assert(tp->tv_sec > last.tv_sec + assert(last.tv_usec == -1 + || tp->tv_sec > last.tv_sec || (tp->tv_sec == last.tv_sec && tp->tv_usec >= last.tv_usec)); last = *tp; #endif