mirror of
https://github.com/openvswitch/ovs
synced 2025-10-25 15:07:05 +00:00
Python's time.time() function uses the system wall clock. However, if NTP resets the wall clock to be a time in the past, then this causes any applications that poll block based on time, such as ovs-xapi-sync, to poll block indefinitely since the time is unexpectedly negative. This patch fixes the issue by using time.monotonic() if Python's version >= 3.3. Otherwise, the timeval module calls out to the librt C shared library and uses the clock_gettime function with CLOCK_MONOTONIC. Note this is only enabled on Linux-based platforms. This has been tested on Ubuntu 12.04 and Redhat 6.4. Bug #1189434 Signed-off-by: Ryan Wilson <wryan@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>