diff options
author | Howard Hinnant <hhinnant@apple.com> | 2010-11-20 19:16:30 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2010-11-20 19:16:30 +0000 |
commit | 3dc6455ff0216030b1864b1d9676549f74f1a128 (patch) | |
tree | 1c4a1fc9a4e36b4a3081b71563f3184d4de66542 /libcxx/include | |
parent | ddd1b7b801d8241dcc28c43792d0b73bac354632 (diff) | |
download | bcm5719-llvm-3dc6455ff0216030b1864b1d9676549f74f1a128.tar.gz bcm5719-llvm-3dc6455ff0216030b1864b1d9676549f74f1a128.zip |
N3191: C++ Timeout Specification
llvm-svn: 119909
Diffstat (limited to 'libcxx/include')
-rw-r--r-- | libcxx/include/__mutex_base | 10 | ||||
-rw-r--r-- | libcxx/include/chrono | 20 | ||||
-rw-r--r-- | libcxx/include/condition_variable | 4 | ||||
-rw-r--r-- | libcxx/include/future | 2 | ||||
-rw-r--r-- | libcxx/include/mutex | 4 | ||||
-rw-r--r-- | libcxx/include/thread | 4 |
6 files changed, 22 insertions, 22 deletions
diff --git a/libcxx/include/__mutex_base b/libcxx/include/__mutex_base index 554ec3f16bd..d3b2a1be62c 100644 --- a/libcxx/include/__mutex_base +++ b/libcxx/include/__mutex_base @@ -382,11 +382,11 @@ condition_variable::wait_for(unique_lock<mutex>& __lk, const chrono::duration<_Rep, _Period>& __d) { using namespace chrono; - system_clock::time_point __s_now = system_clock::now(); - monotonic_clock::time_point __c_now = monotonic_clock::now(); + system_clock::time_point __s_now = system_clock::now(); + steady_clock::time_point __c_now = steady_clock::now(); __do_timed_wait(__lk, __s_now + __ceil<nanoseconds>(__d)); - return monotonic_clock::now() - __c_now < __d ? cv_status::no_timeout : - cv_status::timeout; + return steady_clock::now() - __c_now < __d ? cv_status::no_timeout : + cv_status::timeout; } template <class _Rep, class _Period, class _Predicate> @@ -396,7 +396,7 @@ condition_variable::wait_for(unique_lock<mutex>& __lk, const chrono::duration<_Rep, _Period>& __d, _Predicate __pred) { - return wait_until(__lk, chrono::monotonic_clock::now() + __d, + return wait_until(__lk, chrono::steady_clock::now() + __d, _STD::move(__pred)); } diff --git a/libcxx/include/chrono b/libcxx/include/chrono index d41b88f1e61..97b0c816d33 100644 --- a/libcxx/include/chrono +++ b/libcxx/include/chrono @@ -223,26 +223,26 @@ public: typedef duration::rep rep; typedef duration::period period; typedef chrono::time_point<system_clock> time_point; - static const bool is_monotonic = false; + static const bool is_steady = false; static time_point now(); static time_t to_time_t (const time_point& __t); static time_point from_time_t(time_t __t); }; -class monotonic_clock +class steady_clock { public: typedef nanoseconds duration; typedef duration::rep rep; typedef duration::period period; - typedef chrono::time_point<monotonic_clock, duration> time_point; - static const bool is_monotonic = true; + typedef chrono::time_point<steady_clock, duration> time_point; + static const bool is_steady = true; static time_point now(); }; -typedef monotonic_clock high_resolution_clock; +typedef steady_clock high_resolution_clock; } // chrono @@ -843,26 +843,26 @@ public: typedef duration::rep rep; typedef duration::period period; typedef chrono::time_point<system_clock> time_point; - static const bool is_monotonic = false; + static const bool is_steady = false; static time_point now(); static time_t to_time_t (const time_point& __t); static time_point from_time_t(time_t __t); }; -class _LIBCPP_VISIBLE monotonic_clock +class _LIBCPP_VISIBLE steady_clock { public: typedef nanoseconds duration; typedef duration::rep rep; typedef duration::period period; - typedef chrono::time_point<monotonic_clock, duration> time_point; - static const bool is_monotonic = true; + typedef chrono::time_point<steady_clock, duration> time_point; + static const bool is_steady = true; static time_point now(); }; -typedef monotonic_clock high_resolution_clock; +typedef steady_clock high_resolution_clock; } // chrono diff --git a/libcxx/include/condition_variable b/libcxx/include/condition_variable index 682fb458286..124d3880bd1 100644 --- a/libcxx/include/condition_variable +++ b/libcxx/include/condition_variable @@ -232,7 +232,7 @@ cv_status condition_variable_any::wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __d) { - return wait_until(__lock, chrono::monotonic_clock::now() + __d); + return wait_until(__lock, chrono::steady_clock::now() + __d); } template <class _Lock, class _Rep, class _Period, class _Predicate> @@ -242,7 +242,7 @@ condition_variable_any::wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __d, _Predicate __pred) { - return wait_until(__lock, chrono::monotonic_clock::now() + __d, + return wait_until(__lock, chrono::steady_clock::now() + __d, _STD::move(__pred)); } diff --git a/libcxx/include/future b/libcxx/include/future index 55b0ead8f10..be975f48841 100644 --- a/libcxx/include/future +++ b/libcxx/include/future @@ -603,7 +603,7 @@ inline _LIBCPP_INLINE_VISIBILITY future_status __assoc_sub_state::wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const { - return wait_until(chrono::monotonic_clock::now() + __rel_time); + return wait_until(chrono::steady_clock::now() + __rel_time); } template <class _R> diff --git a/libcxx/include/mutex b/libcxx/include/mutex index 45ce66969d0..c87d0fdaecb 100644 --- a/libcxx/include/mutex +++ b/libcxx/include/mutex @@ -221,7 +221,7 @@ public: template <class _Rep, class _Period> _LIBCPP_INLINE_VISIBILITY bool try_lock_for(const chrono::duration<_Rep, _Period>& __d) - {return try_lock_until(chrono::monotonic_clock::now() + __d);} + {return try_lock_until(chrono::steady_clock::now() + __d);} template <class _Clock, class _Duration> bool try_lock_until(const chrono::time_point<_Clock, _Duration>& __t); void unlock(); @@ -264,7 +264,7 @@ public: template <class _Rep, class _Period> _LIBCPP_INLINE_VISIBILITY bool try_lock_for(const chrono::duration<_Rep, _Period>& __d) - {return try_lock_until(chrono::monotonic_clock::now() + __d);} + {return try_lock_until(chrono::steady_clock::now() + __d);} template <class _Clock, class _Duration> bool try_lock_until(const chrono::time_point<_Clock, _Duration>& __t); void unlock(); diff --git a/libcxx/include/thread b/libcxx/include/thread index fe671b25632..abb56f4cb6c 100644 --- a/libcxx/include/thread +++ b/libcxx/include/thread @@ -406,10 +406,10 @@ sleep_until(const chrono::time_point<_Clock, _Duration>& __t) template <class _Duration> inline _LIBCPP_INLINE_VISIBILITY void -sleep_until(const chrono::time_point<chrono::monotonic_clock, _Duration>& __t) +sleep_until(const chrono::time_point<chrono::steady_clock, _Duration>& __t) { using namespace chrono; - sleep_for(__t - monotonic_clock::now()); + sleep_for(__t - steady_clock::now()); } inline _LIBCPP_INLINE_VISIBILITY |