Browse Source

Merge pull request #4586 from yuzu-emu/tsan-cpu-interrupt

cpu_interrupt_handler: Make is_interrupted an atomic
nce_cpp
bunnei 5 years ago
committed by GitHub
parent
commit
9fd13dd80a
  1. 6
      src/core/arm/cpu_interrupt_handler.cpp
  2. 3
      src/core/arm/cpu_interrupt_handler.h

6
src/core/arm/cpu_interrupt_handler.cpp

@ -7,9 +7,7 @@
namespace Core {
CPUInterruptHandler::CPUInterruptHandler() : is_interrupted{} {
interrupt_event = std::make_unique<Common::Event>();
}
CPUInterruptHandler::CPUInterruptHandler() : interrupt_event{std::make_unique<Common::Event>()} {}
CPUInterruptHandler::~CPUInterruptHandler() = default;
@ -17,7 +15,7 @@ void CPUInterruptHandler::SetInterrupt(bool is_interrupted_) {
if (is_interrupted_) {
interrupt_event->Set();
}
this->is_interrupted = is_interrupted_;
is_interrupted = is_interrupted_;
}
void CPUInterruptHandler::AwaitInterrupt() {

3
src/core/arm/cpu_interrupt_handler.h

@ -4,6 +4,7 @@
#pragma once
#include <atomic>
#include <memory>
namespace Common {
@ -32,8 +33,8 @@ public:
void AwaitInterrupt();
private:
bool is_interrupted{};
std::unique_ptr<Common::Event> interrupt_event;
std::atomic_bool is_interrupted{false};
};
} // namespace Core
Loading…
Cancel
Save