summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/applet_message_queue.cpp
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2024-01-03 00:29:03 +0100
committerLiam <byteslice@airmail.cc>2024-01-30 02:17:33 +0100
commit182137a9a4b09c8188d2cbffa312550c5dc83641 (patch)
treeaf62d2ecf774e7790c227cb0984e5392deca5afe /src/core/hle/service/am/applet_message_queue.cpp
parentam: retrieve main applet creation info from frontend (diff)
downloadyuzu-182137a9a4b09c8188d2cbffa312550c5dc83641.tar
yuzu-182137a9a4b09c8188d2cbffa312550c5dc83641.tar.gz
yuzu-182137a9a4b09c8188d2cbffa312550c5dc83641.tar.bz2
yuzu-182137a9a4b09c8188d2cbffa312550c5dc83641.tar.lz
yuzu-182137a9a4b09c8188d2cbffa312550c5dc83641.tar.xz
yuzu-182137a9a4b09c8188d2cbffa312550c5dc83641.tar.zst
yuzu-182137a9a4b09c8188d2cbffa312550c5dc83641.zip
Diffstat (limited to 'src/core/hle/service/am/applet_message_queue.cpp')
-rw-r--r--src/core/hle/service/am/applet_message_queue.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/hle/service/am/applet_message_queue.cpp b/src/core/hle/service/am/applet_message_queue.cpp
index e4931031d..5ed996b70 100644
--- a/src/core/hle/service/am/applet_message_queue.cpp
+++ b/src/core/hle/service/am/applet_message_queue.cpp
@@ -26,11 +26,15 @@ Kernel::KReadableEvent& AppletMessageQueue::GetOperationModeChangedEvent() {
}
void AppletMessageQueue::PushMessage(AppletMessage msg) {
- messages.push(msg);
+ {
+ std::scoped_lock lk{lock};
+ messages.push(msg);
+ }
on_new_message->Signal();
}
AppletMessageQueue::AppletMessage AppletMessageQueue::PopMessage() {
+ std::scoped_lock lk{lock};
if (messages.empty()) {
on_new_message->Clear();
return AppletMessage::None;
@@ -44,6 +48,7 @@ AppletMessageQueue::AppletMessage AppletMessageQueue::PopMessage() {
}
std::size_t AppletMessageQueue::GetMessageCount() const {
+ std::scoped_lock lk{lock};
return messages.size();
}