summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/event.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2017-01-10 16:45:00 +0100
committerGitHub <noreply@github.com>2017-01-10 16:45:00 +0100
commit84d72fd92fcd737566efde0cb324c48dcd689997 (patch)
tree7b52cc1949f9dc89aaf8f338a4d29624ff82868e /src/core/hle/kernel/event.cpp
parentMerge pull request #2418 from jroweboy/appveyor_master (diff)
parentKernel: Implemented Pulse event and timers. (diff)
downloadyuzu-84d72fd92fcd737566efde0cb324c48dcd689997.tar
yuzu-84d72fd92fcd737566efde0cb324c48dcd689997.tar.gz
yuzu-84d72fd92fcd737566efde0cb324c48dcd689997.tar.bz2
yuzu-84d72fd92fcd737566efde0cb324c48dcd689997.tar.lz
yuzu-84d72fd92fcd737566efde0cb324c48dcd689997.tar.xz
yuzu-84d72fd92fcd737566efde0cb324c48dcd689997.tar.zst
yuzu-84d72fd92fcd737566efde0cb324c48dcd689997.zip
Diffstat (limited to 'src/core/hle/kernel/event.cpp')
-rw-r--r--src/core/hle/kernel/event.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/core/hle/kernel/event.cpp b/src/core/hle/kernel/event.cpp
index e1f42af05..23f9df0d6 100644
--- a/src/core/hle/kernel/event.cpp
+++ b/src/core/hle/kernel/event.cpp
@@ -22,11 +22,6 @@ SharedPtr<Event> Event::Create(ResetType reset_type, std::string name) {
evt->reset_type = reset_type;
evt->name = std::move(name);
- if (reset_type == ResetType::Pulse) {
- LOG_ERROR(Kernel, "Unimplemented event reset type Pulse");
- UNIMPLEMENTED();
- }
-
return evt;
}
@@ -37,8 +32,7 @@ bool Event::ShouldWait(Thread* thread) const {
void Event::Acquire(Thread* thread) {
ASSERT_MSG(!ShouldWait(thread), "object unavailable!");
- // Release the event if it's not sticky...
- if (reset_type != ResetType::Sticky)
+ if (reset_type == ResetType::OneShot)
signaled = false;
}
@@ -51,4 +45,11 @@ void Event::Clear() {
signaled = false;
}
+void Event::WakeupAllWaitingThreads() {
+ WaitObject::WakeupAllWaitingThreads();
+
+ if (reset_type == ResetType::Pulse)
+ signaled = false;
+}
+
} // namespace