mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-27 01:22:37 -06:00
kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest
This commit is contained in:
parent
15d2ab1b33
commit
d73d782ba7
4 changed files with 11 additions and 6 deletions
|
@ -42,6 +42,7 @@ public:
|
||||||
virtual const char *GetTypeName() { return "[BAD KERNEL OBJECT TYPE]"; }
|
virtual const char *GetTypeName() { return "[BAD KERNEL OBJECT TYPE]"; }
|
||||||
virtual const char *GetName() { return "[UNKNOWN KERNEL OBJECT]"; }
|
virtual const char *GetName() { return "[UNKNOWN KERNEL OBJECT]"; }
|
||||||
virtual Kernel::HandleType GetHandleType() const = 0;
|
virtual Kernel::HandleType GetHandleType() const = 0;
|
||||||
|
virtual Result SyncRequest() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ObjectPool : NonCopyable {
|
class ObjectPool : NonCopyable {
|
||||||
|
|
|
@ -23,6 +23,11 @@ public:
|
||||||
bool locked; ///< Current locked state
|
bool locked; ///< Current locked state
|
||||||
Handle lock_thread; ///< Handle to thread that currently has mutex
|
Handle lock_thread; ///< Handle to thread that currently has mutex
|
||||||
std::vector<Handle> waiting_threads; ///< Threads that are waiting for the mutex
|
std::vector<Handle> waiting_threads; ///< Threads that are waiting for the mutex
|
||||||
|
|
||||||
|
/// Synchronize kernel object
|
||||||
|
Result SyncRequest() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -36,6 +36,11 @@ public:
|
||||||
inline bool IsWaiting() const { return (status & THREADSTATUS_WAIT) != 0; }
|
inline bool IsWaiting() const { return (status & THREADSTATUS_WAIT) != 0; }
|
||||||
inline bool IsSuspended() const { return (status & THREADSTATUS_SUSPEND) != 0; }
|
inline bool IsSuspended() const { return (status & THREADSTATUS_SUSPEND) != 0; }
|
||||||
|
|
||||||
|
/// Synchronize kernel object
|
||||||
|
Result SyncRequest() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
ThreadContext context;
|
ThreadContext context;
|
||||||
|
|
||||||
u32 status;
|
u32 status;
|
||||||
|
|
|
@ -26,12 +26,6 @@ public:
|
||||||
return "srv:";
|
return "srv:";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when svcSendSyncRequest is called, loads command buffer and executes comand
|
|
||||||
* @return Return result of svcSendSyncRequest passed back to user app
|
|
||||||
*/
|
|
||||||
Result Sync();
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
Loading…
Reference in a new issue