aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/audio/audout_u.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-12-28 18:23:42 -0800
committerbunnei <bunneidev@gmail.com>2020-12-28 21:33:34 -0800
commit7d77a3f88f7a1e68d9846ca7c69cce051d1a33d2 (patch)
treebe882bb9b5d144861673178a1fdaad9a19504c5a /src/core/hle/service/audio/audout_u.cpp
parentc7a06908ae1a1c0893876800944e494a0fa03918 (diff)
hle: service: Acquire and release a lock on requests.
- This makes it such that we can safely access service members from CoreTiming thread.
Diffstat (limited to 'src/core/hle/service/audio/audout_u.cpp')
-rw-r--r--src/core/hle/service/audio/audout_u.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp
index 145f47ee2..0cd797109 100644
--- a/src/core/hle/service/audio/audout_u.cpp
+++ b/src/core/hle/service/audio/audout_u.cpp
@@ -70,8 +70,10 @@ public:
Kernel::WritableEvent::CreateEventPair(system.Kernel(), "IAudioOutBufferReleased");
stream = audio_core.OpenStream(system.CoreTiming(), audio_params.sample_rate,
- audio_params.channel_count, std::move(unique_name),
- [this] { buffer_event.writable->Signal(); });
+ audio_params.channel_count, std::move(unique_name), [this] {
+ const auto guard = LockService();
+ buffer_event.writable->Signal();
+ });
}
private: