authorgravatar for leroycepearson@geemili.xyzLeRoyce Pearson <leroycepearson@geemili.xyz> 2020-05-01 18:12:26-06:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-05-24 21:40:08-04:00
logc6e7d0fcfdf83531c5c931433528c540eee62e56
treec3991111b57b84c5cddb87f3d76b3014170b58e9
parentb85a191398b45eb4d8d2be7f1eaa1d871459a7db

Use better names for darwin timestart


1 files changed, 9 insertions(+), 10 deletions(-)

lib/std/time.zig+9-10
......@@ -67,10 +67,10 @@ const DarwinTimeStart = struct {
6767 initclock: u64,
6868};
6969
70var _timestart: DarwinTimeStart = undefined;
71var _init_timestart_once = std.once(_init_timestart);
70var global_timestart: DarwinTimeStart = undefined;
71var init_global_timestart_once = std.once(init_global_timestart);
7272
73pub fn _init_timestart() void {
73pub fn init_global_timestart() void {
7474 var micro: os.darwin.timeval = undefined;
7575 var timestart: DarwinTimeStart = undefined;
7676
......@@ -83,7 +83,7 @@ pub fn _init_timestart() void {
8383 timestart.inittime.tv_sec = micro.tv_sec;
8484 timestart.inittime.tv_nsec = micro.tv_usec * 1000;
8585
86 _timestart = timestart;
86 global_timestart = timestart;
8787}
8888
8989/// Get the posix timestamp, UTC, in nanoseconds
......@@ -114,14 +114,13 @@ pub fn nanoTimestamp() u64 {
114114 }
115115 if (comptime std.Target.current.isDarwin()) {
116116 // https://stackoverflow.com/a/21352348
117 init_global_timestart_once.call();
117118
118 _init_timestart_once.call();
119 const clock: u64 = os.darwin.mach_absolute_time() - global_timestart.initclock;
120 const nano = @divFloor(clock * @as(u64, global_timestart.timebase.numer), @as(u64, global_timestart.timebase.denom));
119121
120 const clock: u64 = os.darwin.mach_absolute_time() - _timestart.initclock;
121 const nano = @divFloor(clock * @as(u64, _timestart.timebase.numer), @as(u64, _timestart.timebase.denom));
122
123 const tv_sec_nsec = @intCast(u64, _timestart.inittime.tv_sec) * ns_per_s;
124 const tv_nsec = @intCast(u64, _timestart.inittime.tv_nsec);
122 const tv_sec_nsec = @intCast(u64, global_timestart.inittime.tv_sec) * ns_per_s;
123 const tv_nsec = @intCast(u64, global_timestart.inittime.tv_nsec);
125124
126125 return tv_sec_nsec + tv_nsec + nano;
127126 }