diff options
| author | 2018-08-12 22:05:48 -0400 | |
|---|---|---|
| committer | 2018-08-12 22:05:48 -0400 | |
| commit | e4ed5bc83610b7538f3a8ea355a3ed2437c87671 (patch) | |
| tree | 7ae20333761b95790d6d263539f8607084982b38 /src/core/core_timing.cpp | |
| parent | Merge pull request #1041 from Subv/duplicated_mutex (diff) | |
| parent | Core/HLE: Make the 'reschedule_pending' flag atomic. (diff) | |
| download | yuzu-e4ed5bc83610b7538f3a8ea355a3ed2437c87671.tar.gz yuzu-e4ed5bc83610b7538f3a8ea355a3ed2437c87671.tar.xz yuzu-e4ed5bc83610b7538f3a8ea355a3ed2437c87671.zip | |
Merge pull request #1042 from Subv/races
Fixed a bunch of race conditions when running in multicore mode.
Diffstat (limited to 'src/core/core_timing.cpp')
| -rw-r--r-- | src/core/core_timing.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp index d3bb6f818..f977d1b32 100644 --- a/src/core/core_timing.cpp +++ b/src/core/core_timing.cpp | |||
| @@ -135,11 +135,9 @@ void ClearPendingEvents() { | |||
| 135 | void ScheduleEvent(s64 cycles_into_future, const EventType* event_type, u64 userdata) { | 135 | void ScheduleEvent(s64 cycles_into_future, const EventType* event_type, u64 userdata) { |
| 136 | ASSERT(event_type != nullptr); | 136 | ASSERT(event_type != nullptr); |
| 137 | s64 timeout = GetTicks() + cycles_into_future; | 137 | s64 timeout = GetTicks() + cycles_into_future; |
| 138 | |||
| 139 | // If this event needs to be scheduled before the next advance(), force one early | 138 | // If this event needs to be scheduled before the next advance(), force one early |
| 140 | if (!is_global_timer_sane) | 139 | if (!is_global_timer_sane) |
| 141 | ForceExceptionCheck(cycles_into_future); | 140 | ForceExceptionCheck(cycles_into_future); |
| 142 | |||
| 143 | event_queue.emplace_back(Event{timeout, event_fifo_id++, userdata, event_type}); | 141 | event_queue.emplace_back(Event{timeout, event_fifo_id++, userdata, event_type}); |
| 144 | std::push_heap(event_queue.begin(), event_queue.end(), std::greater<>()); | 142 | std::push_heap(event_queue.begin(), event_queue.end(), std::greater<>()); |
| 145 | } | 143 | } |