mesosphere: Skeleton K(Readable/Writable)Event

This commit is contained in:
Michael Scire committed 2019-06-03 17:41:03 -07:00
1 parent 600afa5f0f
commit a4419dfc41
7 files changed
+191

No files matched your search

@@ -0,0 +1,40 @@
#include <mesosphere/processes/KWritableEvent.hpp>
#include <mesosphere/processes/KReadableEvent.hpp>
#include <mesosphere/processes/KEvent.hpp>
#include <mesosphere/threading/KScheduler.hpp>
namespace mesosphere
{
bool KReadableEvent::IsSignaled() const {
return this->is_signaled;
}
Result KReadableEvent::Signal() {
KScopedCriticalSection critical_section;
if (!this->is_signaled) {
this->is_signaled = true;
this->NotifyWaiters();
}
return ResultSuccess();
}
Result KReadableEvent::Clear() {
this->Reset();
return ResultSuccess();
}
Result KReadableEvent::Reset() {
KScopedCriticalSection critical_section;
if (this->is_signaled) {
this->is_signaled = false;
return ResultSuccess();
}
return ResultKernelInvalidState();
}
}
@@ -0,0 +1,16 @@
#include <mesosphere/processes/KWritableEvent.hpp>
#include <mesosphere/processes/KReadableEvent.hpp>
#include <mesosphere/processes/KEvent.hpp>
namespace mesosphere
{
Result KWritableEvent::Signal() {
return this->client->Signal();
}
Result KWritableEvent::Clear() {
return this->client->Clear();
}
}