|
@@ -17,19 +17,10 @@ namespace Kernel {
|
|
|
namespace {
|
|
namespace {
|
|
|
|
|
|
|
|
class ThreadQueueImplForKSynchronizationObjectWait final : public KThreadQueueWithoutEndWait {
|
|
class ThreadQueueImplForKSynchronizationObjectWait final : public KThreadQueueWithoutEndWait {
|
|
|
-private:
|
|
|
|
|
- using ThreadListNode = KSynchronizationObject::ThreadListNode;
|
|
|
|
|
-
|
|
|
|
|
-private:
|
|
|
|
|
- KSynchronizationObject** m_objects;
|
|
|
|
|
- ThreadListNode* m_nodes;
|
|
|
|
|
- s32 m_count;
|
|
|
|
|
-
|
|
|
|
|
public:
|
|
public:
|
|
|
ThreadQueueImplForKSynchronizationObjectWait(KernelCore& kernel_, KSynchronizationObject** o,
|
|
ThreadQueueImplForKSynchronizationObjectWait(KernelCore& kernel_, KSynchronizationObject** o,
|
|
|
- ThreadListNode* n, s32 c)
|
|
|
|
|
- : KThreadQueueWithoutEndWait(kernel_), m_objects(o), m_nodes(n), m_count(c) { // ...
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ KSynchronizationObject::ThreadListNode* n, s32 c)
|
|
|
|
|
+ : KThreadQueueWithoutEndWait(kernel_), m_objects(o), m_nodes(n), m_count(c) {}
|
|
|
|
|
|
|
|
virtual void NotifyAvailable(KThread* waiting_thread, KSynchronizationObject* signaled_object,
|
|
virtual void NotifyAvailable(KThread* waiting_thread, KSynchronizationObject* signaled_object,
|
|
|
ResultCode wait_result) override {
|
|
ResultCode wait_result) override {
|
|
@@ -68,6 +59,11 @@ public:
|
|
|
// Invoke the base cancel wait handler.
|
|
// Invoke the base cancel wait handler.
|
|
|
KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task);
|
|
KThreadQueue::CancelWait(waiting_thread, wait_result, cancel_timer_task);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+private:
|
|
|
|
|
+ KSynchronizationObject** m_objects;
|
|
|
|
|
+ KSynchronizationObject::ThreadListNode* m_nodes;
|
|
|
|
|
+ s32 m_count;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
} // namespace
|
|
} // namespace
|