diff --git a/src/core/kernel/address_arbiter.cpp b/src/core/kernel/address_arbiter.cpp index 8a7ae745..2f67639f 100644 --- a/src/core/kernel/address_arbiter.cpp +++ b/src/core/kernel/address_arbiter.cpp @@ -86,6 +86,8 @@ void Kernel::arbitrateAddress() { default: Helpers::panic("ArbitrateAddress: Unimplemented type %s", arbitrationTypeToString(type)); } + + rescheduleThreads(); } // Signal up to "threadCount" threads waiting on the arbiter indicated by "waitingAddress" @@ -104,9 +106,4 @@ void Kernel::signalArbiter(u32 waitingAddress, s32 threadCount) { if (count == threadCount && threadCount > 0) break; } } - - // Reschedule threads if we woke one up - if (count != 0) { - rescheduleThreads(); - } } \ No newline at end of file