diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-11-27 00:31:22 +0100 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-11-29 14:42:26 +0100 |
commit | c7133838161ce0c17276ef96c0decfb855510165 (patch) | |
tree | 35041d92a238d3c2952f0ef486da0214cdc7e267 /src/core/hle/kernel/event.cpp | |
parent | kernel/object: Add descriptions to ResetTypes (diff) | |
download | yuzu-c7133838161ce0c17276ef96c0decfb855510165.tar yuzu-c7133838161ce0c17276ef96c0decfb855510165.tar.gz yuzu-c7133838161ce0c17276ef96c0decfb855510165.tar.bz2 yuzu-c7133838161ce0c17276ef96c0decfb855510165.tar.lz yuzu-c7133838161ce0c17276ef96c0decfb855510165.tar.xz yuzu-c7133838161ce0c17276ef96c0decfb855510165.tar.zst yuzu-c7133838161ce0c17276ef96c0decfb855510165.zip |
Diffstat (limited to 'src/core/hle/kernel/event.cpp')
-rw-r--r-- | src/core/hle/kernel/event.cpp | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/core/hle/kernel/event.cpp b/src/core/hle/kernel/event.cpp deleted file mode 100644 index 8967e602e..000000000 --- a/src/core/hle/kernel/event.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2014 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#include <algorithm> -#include "common/assert.h" -#include "core/hle/kernel/event.h" -#include "core/hle/kernel/object.h" -#include "core/hle/kernel/thread.h" - -namespace Kernel { - -Event::Event(KernelCore& kernel) : WaitObject{kernel} {} -Event::~Event() = default; - -SharedPtr<Event> Event::Create(KernelCore& kernel, ResetType reset_type, std::string name) { - SharedPtr<Event> evt(new Event(kernel)); - - evt->signaled = false; - evt->reset_type = reset_type; - evt->name = std::move(name); - - return evt; -} - -bool Event::ShouldWait(Thread* thread) const { - return !signaled; -} - -void Event::Acquire(Thread* thread) { - ASSERT_MSG(!ShouldWait(thread), "object unavailable!"); - - if (reset_type == ResetType::OneShot) - signaled = false; -} - -void Event::Signal() { - signaled = true; - WakeupAllWaitingThreads(); -} - -void Event::Clear() { - signaled = false; -} - -void Event::WakeupAllWaitingThreads() { - WaitObject::WakeupAllWaitingThreads(); - - if (reset_type == ResetType::Pulse) - signaled = false; -} - -} // namespace Kernel |