Commit Graph

2 Commits

Author SHA1 Message Date
Vadim Chugunov 5dd001b2fc Fix overflow in precise_time_ns() on Windows,
which starts happening after ~2 hours of machine uptime.
2015-02-25 15:02:43 -08:00
Steven Fackler 08f6380a9f Rewrite Condvar::wait_timeout and make it public
**The implementation is a direct adaptation of libcxx's
condition_variable implementation.**

pthread_cond_timedwait uses the non-monotonic system clock. It's
possible to change the clock to a monotonic via pthread_cond_attr, but
this is incompatible with static initialization. To deal with this, we
calculate the timeout using the system clock, and maintain a separate
record of the start and end times with a monotonic clock to be used for
calculation of the return value.
2015-01-16 09:17:37 -08:00