diff options
author | bunnei <bunneidev@gmail.com> | 2022-02-21 21:31:23 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2022-02-21 21:41:06 +0100 |
commit | 57ebcbf2c4574e5d04d5b91ea2918b0d030ac92b (patch) | |
tree | 849296d997bdd7768b21f60958fbdd466c232a42 /src/core/hle/kernel/k_event.cpp | |
parent | core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process. (diff) | |
download | yuzu-57ebcbf2c4574e5d04d5b91ea2918b0d030ac92b.tar yuzu-57ebcbf2c4574e5d04d5b91ea2918b0d030ac92b.tar.gz yuzu-57ebcbf2c4574e5d04d5b91ea2918b0d030ac92b.tar.bz2 yuzu-57ebcbf2c4574e5d04d5b91ea2918b0d030ac92b.tar.lz yuzu-57ebcbf2c4574e5d04d5b91ea2918b0d030ac92b.tar.xz yuzu-57ebcbf2c4574e5d04d5b91ea2918b0d030ac92b.tar.zst yuzu-57ebcbf2c4574e5d04d5b91ea2918b0d030ac92b.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/k_event.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/core/hle/kernel/k_event.cpp b/src/core/hle/kernel/k_event.cpp index 0720efece..2e0e8de80 100644 --- a/src/core/hle/kernel/k_event.cpp +++ b/src/core/hle/kernel/k_event.cpp @@ -14,7 +14,7 @@ KEvent::KEvent(KernelCore& kernel_) KEvent::~KEvent() = default; -void KEvent::Initialize(std::string&& name_) { +void KEvent::Initialize(std::string&& name_, KProcess* owner_) { // Increment reference count. // Because reference count is one on creation, this will result // in a reference count of two. Thus, when both readable and @@ -30,10 +30,8 @@ void KEvent::Initialize(std::string&& name_) { writable_event.Initialize(this, name_ + ":Writable"); // Set our owner process. - owner = kernel.CurrentProcess(); - if (owner) { - owner->Open(); - } + owner = owner_; + owner->Open(); // Mark initialized. name = std::move(name_); @@ -47,10 +45,8 @@ void KEvent::Finalize() { void KEvent::PostDestroy(uintptr_t arg) { // Release the event count resource the owner process holds. KProcess* owner = reinterpret_cast<KProcess*>(arg); - if (owner) { - owner->GetResourceLimit()->Release(LimitableResource::Events, 1); - owner->Close(); - } + owner->GetResourceLimit()->Release(LimitableResource::Events, 1); + owner->Close(); } } // namespace Kernel |