|
|
|
@ -143,6 +143,7 @@ void CoreTiming::ScheduleLoopingEvent(std::chrono::nanoseconds start_time, |
|
|
|
std::chrono::nanoseconds resched_time, |
|
|
|
const std::shared_ptr<EventType>& event_type, |
|
|
|
std::uintptr_t user_data, bool absolute_time) { |
|
|
|
{ |
|
|
|
std::scoped_lock scope{basic_lock}; |
|
|
|
const auto next_time{absolute_time ? start_time : GetGlobalTimeNs() + start_time}; |
|
|
|
|
|
|
|
@ -152,6 +153,9 @@ void CoreTiming::ScheduleLoopingEvent(std::chrono::nanoseconds start_time, |
|
|
|
std::push_heap(event_queue.begin(), event_queue.end(), std::greater<>()); |
|
|
|
} |
|
|
|
|
|
|
|
event.Set(); |
|
|
|
} |
|
|
|
|
|
|
|
void CoreTiming::UnscheduleEvent(const std::shared_ptr<EventType>& event_type, |
|
|
|
std::uintptr_t user_data) { |
|
|
|
std::scoped_lock scope{basic_lock}; |
|
|
|
|