summaryrefslogtreecommitdiff
path: root/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp')
-rw-r--r--boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp b/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp
index 5d5c4f4806..0476f590c9 100644
--- a/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp
+++ b/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp
@@ -22,7 +22,7 @@
namespace boost { namespace chrono {
namespace chrono_detail
{
- inline long tick_factor() // multiplier to convert ticks
+ inline nanoseconds::rep tick_factor() // multiplier to convert ticks
// to nanoseconds; -1 if unknown
{
static long factor = 0;
@@ -281,12 +281,13 @@ process_cpu_clock::time_point process_cpu_clock::now() BOOST_NOEXCEPT
}
else
{
- if ( chrono_detail::tick_factor() != -1 )
+ nanoseconds::rep factor = chrono_detail::tick_factor();
+ if ( factor != -1 )
{
time_point::rep r(
- 1000*c*chrono_detail::tick_factor(),
- 1000*(tm.tms_utime + tm.tms_cutime)*chrono_detail::tick_factor(),
- 1000*(tm.tms_stime + tm.tms_cstime)*chrono_detail::tick_factor());
+ c*factor,
+ (tm.tms_utime + tm.tms_cutime)*factor,
+ (tm.tms_stime + tm.tms_cstime)*factor);
return time_point(duration(r));
}
else
@@ -324,9 +325,9 @@ process_cpu_clock::time_point process_cpu_clock::now(
if ( chrono_detail::tick_factor() != -1 )
{
time_point::rep r(
- 1000*c*chrono_detail::tick_factor(),
- 1000*(tm.tms_utime + tm.tms_cutime)*chrono_detail::tick_factor(),
- 1000*(tm.tms_stime + tm.tms_cstime)*chrono_detail::tick_factor());
+ c*chrono_detail::tick_factor(),
+ (tm.tms_utime + tm.tms_cutime)*chrono_detail::tick_factor(),
+ (tm.tms_stime + tm.tms_cstime)*chrono_detail::tick_factor());
return time_point(duration(r));
}
else