diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/acc/async_context.cpp | 6 | ||||
| -rw-r--r-- | src/core/hle/service/acc/async_context.h | 3 |
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) { | |||
| 46 | void IAsyncContext::HasDone(Kernel::HLERequestContext& ctx) { | 46 | void 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 | ||
| 56 | void IAsyncContext::GetResult(Kernel::HLERequestContext& ctx) { | 56 | void IAsyncContext::GetResult(Kernel::HLERequestContext& ctx) { |
| @@ -61,7 +61,7 @@ void IAsyncContext::GetResult(Kernel::HLERequestContext& ctx) { | |||
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | void IAsyncContext::MarkComplete() { | 63 | void 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 | ||