about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDan Aloni <dan@kernelim.com>2020-03-09 17:40:31 +0200
committerDan Aloni <dan@kernelim.com>2020-03-09 18:23:23 +0200
commit0605abe3bb7b602cbe70a72797fdd6ca90d76e92 (patch)
tree1c968ed2c4d25b3b06db903a45993d3a2c9f0f15
parent3dbade652ed8ebac70f903e01f51cd92c4e4302c (diff)
downloadrust-0605abe3bb7b602cbe70a72797fdd6ca90d76e92.tar.gz
rust-0605abe3bb7b602cbe70a72797fdd6ca90d76e92.zip
Use GetSystemTimePreciseAsFileTime if it is available
-rw-r--r--src/libstd/sys/windows/c.rs4
-rw-r--r--src/libstd/sys/windows/time.rs2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/libstd/sys/windows/c.rs b/src/libstd/sys/windows/c.rs
index 4d377341be3..ed0b239b9f9 100644
--- a/src/libstd/sys/windows/c.rs
+++ b/src/libstd/sys/windows/c.rs
@@ -1044,6 +1044,10 @@ compat_fn! {
                     _dwBufferSize: DWORD) -> BOOL {
         SetLastError(ERROR_CALL_NOT_IMPLEMENTED as DWORD); 0
     }
+    pub fn GetSystemTimePreciseAsFileTime(lpSystemTimeAsFileTime: LPFILETIME)
+                                          -> () {
+        GetSystemTimeAsFileTime(lpSystemTimeAsFileTime)
+    }
     pub fn SleepConditionVariableSRW(ConditionVariable: PCONDITION_VARIABLE,
                                      SRWLock: PSRWLOCK,
                                      dwMilliseconds: DWORD,
diff --git a/src/libstd/sys/windows/time.rs b/src/libstd/sys/windows/time.rs
index 86667ca7ab2..900260169c7 100644
--- a/src/libstd/sys/windows/time.rs
+++ b/src/libstd/sys/windows/time.rs
@@ -74,7 +74,7 @@ impl SystemTime {
     pub fn now() -> SystemTime {
         unsafe {
             let mut t: SystemTime = mem::zeroed();
-            c::GetSystemTimeAsFileTime(&mut t.t);
+            c::GetSystemTimePreciseAsFileTime(&mut t.t);
             t
         }
     }