void delay_for_interval( uint32_t interval, uint32_t scale_factor) { uint64_t end; clock_interval_to_deadline(interval, scale_factor, &end); clock_delay_until(end); }
static int rtR0ThreadDarwinSleepCommon(RTMSINTERVAL cMillies) { RT_ASSERT_PREEMPTIBLE(); IPRT_DARWIN_SAVE_EFL_AC(); uint64_t u64Deadline; clock_interval_to_deadline(cMillies, kMillisecondScale, &u64Deadline); clock_delay_until(u64Deadline); IPRT_DARWIN_RESTORE_EFL_AC(); return VINF_SUCCESS; }