mirror of https://git.suyu.dev/suyu/suyu
hle: kernel: Remove unnecessary virtual specifier on CancelWait.
This commit is contained in:
parent
d7f6d516ce
commit
0d1bdfc1d4
|
@ -91,8 +91,8 @@ public:
|
||||||
explicit ThreadQueueImplForKAddressArbiter(KernelCore& kernel_, KAddressArbiter::ThreadTree* t)
|
explicit ThreadQueueImplForKAddressArbiter(KernelCore& kernel_, KAddressArbiter::ThreadTree* t)
|
||||||
: KThreadQueue(kernel_), m_tree(t) {}
|
: KThreadQueue(kernel_), m_tree(t) {}
|
||||||
|
|
||||||
virtual void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
||||||
bool cancel_timer_task) override {
|
bool cancel_timer_task) override {
|
||||||
// If the thread is waiting on an address arbiter, remove it from the tree.
|
// If the thread is waiting on an address arbiter, remove it from the tree.
|
||||||
if (waiting_thread->IsWaitingForAddressArbiter()) {
|
if (waiting_thread->IsWaitingForAddressArbiter()) {
|
||||||
m_tree->erase(m_tree->iterator_to(*waiting_thread));
|
m_tree->erase(m_tree->iterator_to(*waiting_thread));
|
||||||
|
|
|
@ -63,8 +63,8 @@ public:
|
||||||
explicit ThreadQueueImplForKConditionVariableWaitForAddress(KernelCore& kernel_)
|
explicit ThreadQueueImplForKConditionVariableWaitForAddress(KernelCore& kernel_)
|
||||||
: KThreadQueue(kernel_) {}
|
: KThreadQueue(kernel_) {}
|
||||||
|
|
||||||
virtual void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
||||||
bool cancel_timer_task) override {
|
bool cancel_timer_task) override {
|
||||||
// Remove the thread as a waiter from its owner.
|
// Remove the thread as a waiter from its owner.
|
||||||
waiting_thread->GetLockOwner()->RemoveWaiter(waiting_thread);
|
waiting_thread->GetLockOwner()->RemoveWaiter(waiting_thread);
|
||||||
|
|
||||||
|
@ -82,8 +82,8 @@ public:
|
||||||
KernelCore& kernel_, KConditionVariable::ThreadTree* t)
|
KernelCore& kernel_, KConditionVariable::ThreadTree* t)
|
||||||
: KThreadQueue(kernel_), m_tree(t) {}
|
: KThreadQueue(kernel_), m_tree(t) {}
|
||||||
|
|
||||||
virtual void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
||||||
bool cancel_timer_task) override {
|
bool cancel_timer_task) override {
|
||||||
// Remove the thread as a waiter from its owner.
|
// Remove the thread as a waiter from its owner.
|
||||||
if (KThread* owner = waiting_thread->GetLockOwner(); owner != nullptr) {
|
if (KThread* owner = waiting_thread->GetLockOwner(); owner != nullptr) {
|
||||||
owner->RemoveWaiter(waiting_thread);
|
owner->RemoveWaiter(waiting_thread);
|
||||||
|
|
|
@ -18,8 +18,8 @@ public:
|
||||||
bool term)
|
bool term)
|
||||||
: KThreadQueue(kernel_), m_wait_list(wl), m_allow_terminating_thread(term) {}
|
: KThreadQueue(kernel_), m_wait_list(wl), m_allow_terminating_thread(term) {}
|
||||||
|
|
||||||
virtual void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
||||||
bool cancel_timer_task) override {
|
bool cancel_timer_task) override {
|
||||||
// Only process waits if we're allowed to.
|
// Only process waits if we're allowed to.
|
||||||
if (ResultTerminationRequested == wait_result && m_allow_terminating_thread) {
|
if (ResultTerminationRequested == wait_result && m_allow_terminating_thread) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -16,8 +16,8 @@ class ThreadQueueImplForKLightLock final : public KThreadQueue {
|
||||||
public:
|
public:
|
||||||
explicit ThreadQueueImplForKLightLock(KernelCore& kernel_) : KThreadQueue(kernel_) {}
|
explicit ThreadQueueImplForKLightLock(KernelCore& kernel_) : KThreadQueue(kernel_) {}
|
||||||
|
|
||||||
virtual void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
||||||
bool cancel_timer_task) override {
|
bool cancel_timer_task) override {
|
||||||
// Remove the thread as a waiter from its owner.
|
// Remove the thread as a waiter from its owner.
|
||||||
if (KThread* owner = waiting_thread->GetLockOwner(); owner != nullptr) {
|
if (KThread* owner = waiting_thread->GetLockOwner(); owner != nullptr) {
|
||||||
owner->RemoveWaiter(waiting_thread);
|
owner->RemoveWaiter(waiting_thread);
|
||||||
|
|
|
@ -46,8 +46,8 @@ public:
|
||||||
KThreadQueue::EndWait(waiting_thread, wait_result);
|
KThreadQueue::EndWait(waiting_thread, wait_result);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
||||||
bool cancel_timer_task) override {
|
bool cancel_timer_task) override {
|
||||||
// Remove all nodes from our list.
|
// Remove all nodes from our list.
|
||||||
for (auto i = 0; i < m_count; ++i) {
|
for (auto i = 0; i < m_count; ++i) {
|
||||||
m_objects[i]->UnlinkNode(std::addressof(m_nodes[i]));
|
m_objects[i]->UnlinkNode(std::addressof(m_nodes[i]));
|
||||||
|
|
|
@ -72,8 +72,8 @@ public:
|
||||||
explicit ThreadQueueImplForKThreadSetProperty(KernelCore& kernel_, KThread::WaiterList* wl)
|
explicit ThreadQueueImplForKThreadSetProperty(KernelCore& kernel_, KThread::WaiterList* wl)
|
||||||
: KThreadQueue(kernel_), m_wait_list(wl) {}
|
: KThreadQueue(kernel_), m_wait_list(wl) {}
|
||||||
|
|
||||||
virtual void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
void CancelWait(KThread* waiting_thread, ResultCode wait_result,
|
||||||
bool cancel_timer_task) override {
|
bool cancel_timer_task) override {
|
||||||
// Remove the thread from the wait list.
|
// Remove the thread from the wait list.
|
||||||
m_wait_list->erase(m_wait_list->iterator_to(*waiting_thread));
|
m_wait_list->erase(m_wait_list->iterator_to(*waiting_thread));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue