Auto merge of #116238 - tamird:gettimeofday, r=thomcc
time: use clock_gettime on macos Replace `gettimeofday` with `clock_gettime(CLOCK_REALTIME)` on: ``` all(target_os = "macos", not(target_arch = "aarch64")), target_os = "ios", target_os = "watchos", target_os = "tvos" ))] ``` `gettimeofday` was first used incc367edd95
which predated the introduction of `clock_gettime` support in macOS 10.12 Sierra which became the minimum supported version in58bbca958d
. Replace `mach_{absolute_time,timebase_info}` with `clock_gettime(CLOCK_REALTIME)` on: ``` all(target_os = "macos", not(target_arch = "aarch64")), target_os = "ios", target_os = "watchos", target_os = "tvos" ))] ``` `mach_{absolute_time,timebase_info}` were first used incc367edd95
which predated the introduction of `clock_gettime` support in macOS 10.12 Sierra which became the minimum supported version in58bbca958d
. Note that this change was made for aarch64 in5008a317ce
which predated 10.12 becoming the minimum supported version. The discussion took place in https://github.com/rust-lang/rust/issues/91417 and in particular https://github.com/rust-lang/rust/issues/91417#issuecomment-992151582 and https://github.com/rust-lang/rust/issues/91417#issuecomment-1033048064 are relevant.
This commit is contained in:
commit
e918db897d
2 changed files with 81 additions and 201 deletions
|
@ -111,7 +111,7 @@ pub use core::time::TryFromFloatSecsError;
|
|||
/// |-----------|----------------------------------------------------------------------|
|
||||
/// | SGX | [`insecure_time` usercall]. More information on [timekeeping in SGX] |
|
||||
/// | UNIX | [clock_gettime (Monotonic Clock)] |
|
||||
/// | Darwin | [mach_absolute_time] |
|
||||
/// | Darwin | [clock_gettime (Monotonic Clock)] |
|
||||
/// | VXWorks | [clock_gettime (Monotonic Clock)] |
|
||||
/// | SOLID | `get_tim` |
|
||||
/// | WASI | [__wasi_clock_time_get (Monotonic Clock)] |
|
||||
|
@ -123,7 +123,6 @@ pub use core::time::TryFromFloatSecsError;
|
|||
/// [timekeeping in SGX]: https://edp.fortanix.com/docs/concepts/rust-std/#codestdtimecode
|
||||
/// [__wasi_clock_time_get (Monotonic Clock)]: https://github.com/WebAssembly/WASI/blob/main/legacy/preview1/docs.md#clock_time_get
|
||||
/// [clock_gettime (Monotonic Clock)]: https://linux.die.net/man/3/clock_gettime
|
||||
/// [mach_absolute_time]: https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/services/services.html
|
||||
///
|
||||
/// **Disclaimer:** These system calls might change over time.
|
||||
///
|
||||
|
@ -224,7 +223,7 @@ pub struct Instant(time::Instant);
|
|||
/// |-----------|----------------------------------------------------------------------|
|
||||
/// | SGX | [`insecure_time` usercall]. More information on [timekeeping in SGX] |
|
||||
/// | UNIX | [clock_gettime (Realtime Clock)] |
|
||||
/// | Darwin | [gettimeofday] |
|
||||
/// | Darwin | [clock_gettime (Realtime Clock)] |
|
||||
/// | VXWorks | [clock_gettime (Realtime Clock)] |
|
||||
/// | SOLID | `SOLID_RTC_ReadTime` |
|
||||
/// | WASI | [__wasi_clock_time_get (Realtime Clock)] |
|
||||
|
@ -233,7 +232,6 @@ pub struct Instant(time::Instant);
|
|||
/// [currently]: crate::io#platform-specific-behavior
|
||||
/// [`insecure_time` usercall]: https://edp.fortanix.com/docs/api/fortanix_sgx_abi/struct.Usercalls.html#method.insecure_time
|
||||
/// [timekeeping in SGX]: https://edp.fortanix.com/docs/concepts/rust-std/#codestdtimecode
|
||||
/// [gettimeofday]: https://man7.org/linux/man-pages/man2/gettimeofday.2.html
|
||||
/// [clock_gettime (Realtime Clock)]: https://linux.die.net/man/3/clock_gettime
|
||||
/// [__wasi_clock_time_get (Realtime Clock)]: https://github.com/WebAssembly/WASI/blob/main/legacy/preview1/docs.md#clock_time_get
|
||||
/// [GetSystemTimePreciseAsFileTime]: https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue