diff options
author | Rickard Green <[email protected]> | 2016-02-02 10:17:05 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2016-02-02 10:17:05 +0100 |
commit | 178cff0a09223da707ca8472a71dbe4125466493 (patch) | |
tree | df849d4a871940a13ae53e28e6de25a030f54ffb /erts/emulator/beam/io.c | |
parent | 5dac3400b00e499cb7c436b6b71c510c718d92cf (diff) | |
parent | 3f33428db9aea0d767295322c4e882a5c6bbf7db (diff) | |
download | otp-178cff0a09223da707ca8472a71dbe4125466493.tar.gz otp-178cff0a09223da707ca8472a71dbe4125466493.tar.bz2 otp-178cff0a09223da707ca8472a71dbe4125466493.zip |
Merge branch 'rickard/monotonic-time-improvements/OTP-13222' into maint
* rickard/monotonic-time-improvements/OTP-13222:
Introduce time management in native APIs
Introduce time warp safe replacement for safe_fixed option
Introduce time warp safe trace timestamp formats
Diffstat (limited to 'erts/emulator/beam/io.c')
-rw-r--r-- | erts/emulator/beam/io.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c index c64c8802b9..2bd31ee97e 100644 --- a/erts/emulator/beam/io.c +++ b/erts/emulator/beam/io.c @@ -50,6 +50,7 @@ #include "erl_map.h" #include "erl_bif_unique.h" #include "erl_hl_timer.h" +#include "erl_time.h" extern ErlDrvEntry fd_driver_entry; #ifndef __OSE__ @@ -6762,6 +6763,28 @@ driver_get_now(ErlDrvNowData *now_data) return 0; } +ErlDrvTime +erl_drv_monotonic_time(ErlDrvTimeUnit time_unit) +{ + return (ErlDrvTime) erts_napi_monotonic_time((int) time_unit); +} + +ErlDrvTime +erl_drv_time_offset(ErlDrvTimeUnit time_unit) +{ + return (ErlDrvTime) erts_napi_time_offset((int) time_unit); +} + +ErlDrvTime +erl_drv_convert_time_unit(ErlDrvTime val, + ErlDrvTimeUnit from, + ErlDrvTimeUnit to) +{ + return (ErlDrvTime) erts_napi_convert_time_unit((ErtsMonotonicTime) val, + (int) from, + (int) to); +} + static void ref_to_driver_monitor(Eterm ref, ErlDrvMonitor *mon) { RefThing *refp; |