aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/readable_event.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-01-11 14:36:26 -0800
committerGitHub <noreply@github.com>2021-01-11 14:36:26 -0800
commitca4e4931133725013e9b730b0f2acd46c8249875 (patch)
tree56a80760bd0ba8ecd85dc8d9f09fb9e2068c91d4 /src/core/hle/kernel/readable_event.cpp
parent5607df3eb9391a074d860d3e3ca861af450794ab (diff)
parente89be18c79a9c8cc6937443169d4516d05d44b42 (diff)
Merge pull request #5266 from bunnei/kernel-synch
Rewrite KSynchronizationObject, KConditonVariable, and KAddressArbiter
Diffstat (limited to 'src/core/hle/kernel/readable_event.cpp')
-rw-r--r--src/core/hle/kernel/readable_event.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/core/hle/kernel/readable_event.cpp b/src/core/hle/kernel/readable_event.cpp
index cea262ce02..99ed0857e7 100644
--- a/src/core/hle/kernel/readable_event.cpp
+++ b/src/core/hle/kernel/readable_event.cpp
@@ -14,24 +14,22 @@
namespace Kernel {
-ReadableEvent::ReadableEvent(KernelCore& kernel) : SynchronizationObject{kernel} {}
+ReadableEvent::ReadableEvent(KernelCore& kernel) : KSynchronizationObject{kernel} {}
ReadableEvent::~ReadableEvent() = default;
-bool ReadableEvent::ShouldWait(const Thread* thread) const {
- return !is_signaled;
-}
-
-void ReadableEvent::Acquire(Thread* thread) {
- ASSERT_MSG(IsSignaled(), "object unavailable!");
-}
-
void ReadableEvent::Signal() {
if (is_signaled) {
return;
}
is_signaled = true;
- SynchronizationObject::Signal();
+ NotifyAvailable();
+}
+
+bool ReadableEvent::IsSignaled() const {
+ ASSERT(kernel.GlobalSchedulerContext().IsLocked());
+
+ return is_signaled;
}
void ReadableEvent::Clear() {