Remove SyncRequest from K::Object and create a new K::Session type

This is a first step at fixing the conceptual insanity that is our
handling of service and IPC calls. For now, interfaces still directly
derived from Session because we don't have the infrastructure to do it
properly. (That is, Processes and scheduling them.)
This commit is contained in:
Yuri Kunde Schlesner 2014-12-14 03:30:11 -02:00
parent 1ee740898a
commit e321decf98
15 changed files with 129 additions and 104 deletions

View file

@ -22,7 +22,7 @@ enum KernelHandle {
enum class HandleType : u32 {
Unknown = 0,
Port = 1,
Service = 2,
Session = 2,
Event = 3,
Mutex = 4,
SharedMemory = 5,
@ -30,10 +30,7 @@ enum class HandleType : u32 {
Thread = 7,
Process = 8,
AddressArbiter = 9,
File = 10,
Semaphore = 11,
Archive = 12,
Directory = 13,
Semaphore = 10,
};
enum {
@ -52,15 +49,6 @@ public:
virtual std::string GetName() const { return "[UNKNOWN KERNEL OBJECT]"; }
virtual Kernel::HandleType GetHandleType() const = 0;
/**
* Synchronize kernel object.
* @return True if the current thread should wait as a result of the sync
*/
virtual ResultVal<bool> SyncRequest() {
LOG_ERROR(Kernel, "(UNIMPLEMENTED)");
return UnimplementedFunction(ErrorModule::Kernel);
}
/**
* Wait for kernel object to synchronize.
* @return True if the current thread should wait as a result of the wait