kern: delete KWritableEvent, devirtualize KReadableEvent Signal/Clear

This commit is contained in:
Michael Scire
2021-09-17 15:31:25 -07:00
committed by SciresM
parent d80ad222cc
commit e6a6fe6f38
15 changed files with 81 additions and 149 deletions

View File

@@ -17,6 +17,16 @@
namespace ams::kern {
void KReadableEvent::Initialize(KEvent *parent) {
MESOSPHERE_ASSERT_THIS();
m_is_signaled = false;
m_parent = parent;
if (m_parent != nullptr) {
m_parent->Open();
}
}
bool KReadableEvent::IsSignaled() const {
MESOSPHERE_ASSERT_THIS();
MESOSPHERE_ASSERT(KScheduler::IsSchedulerLockedByCurrentThread());
@@ -27,6 +37,11 @@ namespace ams::kern {
void KReadableEvent::Destroy() {
MESOSPHERE_ASSERT_THIS();
if (m_parent) {
{
KScopedSchedulerLock sl;
m_parent->OnReadableEventDestroyed();
}
m_parent->Close();
}
}