summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/acc/async_context.cpp6
-rw-r--r--src/core/hle/service/acc/async_context.h3
2 files changed, 5 insertions, 4 deletions
diff --git a/src/core/hle/service/acc/async_context.cpp b/src/core/hle/service/acc/async_context.cpp
index f7a7e34ea..459323132 100644
--- a/src/core/hle/service/acc/async_context.cpp
+++ b/src/core/hle/service/acc/async_context.cpp
@@ -46,11 +46,11 @@ void IAsyncContext::Cancel(Kernel::HLERequestContext& ctx) {
46void IAsyncContext::HasDone(Kernel::HLERequestContext& ctx) { 46void IAsyncContext::HasDone(Kernel::HLERequestContext& ctx) {
47 LOG_DEBUG(Service_ACC, "called"); 47 LOG_DEBUG(Service_ACC, "called");
48 48
49 is_complete = IsComplete(); 49 is_complete.store(IsComplete());
50 50
51 IPC::ResponseBuilder rb{ctx, 3}; 51 IPC::ResponseBuilder rb{ctx, 3};
52 rb.Push(ResultSuccess); 52 rb.Push(ResultSuccess);
53 rb.Push(is_complete); 53 rb.Push(is_complete.load());
54} 54}
55 55
56void IAsyncContext::GetResult(Kernel::HLERequestContext& ctx) { 56void IAsyncContext::GetResult(Kernel::HLERequestContext& ctx) {
@@ -61,7 +61,7 @@ void IAsyncContext::GetResult(Kernel::HLERequestContext& ctx) {
61} 61}
62 62
63void IAsyncContext::MarkComplete() { 63void IAsyncContext::MarkComplete() {
64 is_complete = true; 64 is_complete.store(true);
65 compeletion_event.GetWritableEvent().Signal(); 65 compeletion_event.GetWritableEvent().Signal();
66} 66}
67 67
diff --git a/src/core/hle/service/acc/async_context.h b/src/core/hle/service/acc/async_context.h
index 6592326d0..c694b4946 100644
--- a/src/core/hle/service/acc/async_context.h
+++ b/src/core/hle/service/acc/async_context.h
@@ -4,6 +4,7 @@
4 4
5#pragma once 5#pragma once
6 6
7#include <atomic>
7#include "core/hle/kernel/k_event.h" 8#include "core/hle/kernel/k_event.h"
8#include "core/hle/service/service.h" 9#include "core/hle/service/service.h"
9 10
@@ -29,7 +30,7 @@ protected:
29 30
30 void MarkComplete(); 31 void MarkComplete();
31 32
32 bool is_complete{false}; 33 std::atomic<bool> is_complete{false};
33 Kernel::KEvent compeletion_event; 34 Kernel::KEvent compeletion_event;
34}; 35};
35 36