aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_time.h
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2015-07-08 22:36:43 +0200
committerRickard Green <[email protected]>2015-07-08 22:36:43 +0200
commit859428cc405e3000c625a6c44a80bd3b22ad113d (patch)
tree9eb2d727884874fe241345cce142669fa9fe9ff2 /erts/emulator/beam/erl_time.h
parent3461837363d82e6c908ac81f664da4372aa3a8b0 (diff)
parent61828f77ca2542109ece006d730a4f8fe3300616 (diff)
downloadotp-859428cc405e3000c625a6c44a80bd3b22ad113d.tar.gz
otp-859428cc405e3000c625a6c44a80bd3b22ad113d.tar.bz2
otp-859428cc405e3000c625a6c44a80bd3b22ad113d.zip
Merge branch 'maint-18' into maint
* maint-18: Updated OTP version Prepare release Fix calculation of end time Prefer monotonic time that stop during suspend Avoid unnecessary copying of data when retrieving corrected monotonic time Add the --enable-gettimeofday-as-os-system-time configure switch
Diffstat (limited to 'erts/emulator/beam/erl_time.h')
-rw-r--r--erts/emulator/beam/erl_time.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_time.h b/erts/emulator/beam/erl_time.h
index 36a3d52264..43e543e035 100644
--- a/erts/emulator/beam/erl_time.h
+++ b/erts/emulator/beam/erl_time.h
@@ -345,8 +345,10 @@ erts_time_unit_conversion(Uint64 value,
#endif /* !ERTS_COMPILE_TIME_MONOTONIC_TIME_UNIT */
#define ERTS_MONOTONIC_TIME_END_EXTERNAL \
- (ERTS_MONOTONIC_TIME_START_EXTERNAL \
- + (ERTS_MONOTONIC_END - ERTS_MONOTONIC_BEGIN))
+ (ERTS_MONOTONIC_TIME_START_EXTERNAL < 0 \
+ ? (ERTS_MONOTONIC_TIME_START_EXTERNAL \
+ + (ERTS_MONOTONIC_END - ERTS_MONOTONIC_BEGIN)) \
+ : (ERTS_MONOTONIC_END - ERTS_MONOTONIC_TIME_START_EXTERNAL))
#define ERTS_MSEC_TO_CLKTCKS__(MON) \
((MON) * (ERTS_CLKTCK_RESOLUTION/1000))