mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2024-11-27 20:14:17 +01:00
Kernel: Renamed some functions for clarity.
- ReleaseNextThread->WakeupNextThread - ReleaseAllWaitingThreads->WakeupAllWaitingThreads.
This commit is contained in:
parent
15b6a4d9ad
commit
f09806aed2
@ -47,7 +47,7 @@ ResultCode SignalEvent(const Handle handle) {
|
||||
return InvalidHandle(ErrorModule::Kernel);
|
||||
|
||||
evt->signaled = true;
|
||||
evt->ReleaseAllWaitingThreads();
|
||||
evt->WakeupAllWaitingThreads();
|
||||
|
||||
return RESULT_SUCCESS;
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ void WaitObject::RemoveWaitingThread(Thread* thread) {
|
||||
waiting_threads.erase(itr);
|
||||
}
|
||||
|
||||
Thread* WaitObject::ReleaseNextThread() {
|
||||
Thread* WaitObject::WakeupNextThread() {
|
||||
if (waiting_threads.empty())
|
||||
return nullptr;
|
||||
|
||||
|
@ -138,13 +138,13 @@ public:
|
||||
void RemoveWaitingThread(Thread* thead);
|
||||
|
||||
/**
|
||||
* Releases (and removes) the next thread waiting on this object
|
||||
* Wake up the next thread waiting on this object
|
||||
* @return Pointer to the thread that was resumed, nullptr if no threads are waiting
|
||||
*/
|
||||
Thread* ReleaseNextThread();
|
||||
Thread* WakeupNextThread();
|
||||
|
||||
/// Releases all threads waiting on this object
|
||||
void ReleaseAllWaitingThreads();
|
||||
/// Wake up all threads waiting on this object
|
||||
void WakeupAllWaitingThreads();
|
||||
|
||||
private:
|
||||
std::vector<Thread*> waiting_threads; ///< Threads waiting for this object to become available
|
||||
|
@ -53,7 +53,7 @@ void MutexAcquireLock(Mutex* mutex, Handle thread = GetCurrentThread()->GetHandl
|
||||
*/
|
||||
void ResumeWaitingThread(Mutex* mutex) {
|
||||
// Find the next waiting thread for the mutex...
|
||||
auto next_thread = mutex->ReleaseNextThread();
|
||||
auto next_thread = mutex->WakeupNextThread();
|
||||
if (next_thread != nullptr) {
|
||||
MutexAcquireLock(mutex, next_thread->GetHandle());
|
||||
} else {
|
||||
|
@ -70,7 +70,7 @@ ResultCode ReleaseSemaphore(s32* count, Handle handle, s32 release_count) {
|
||||
|
||||
// Notify some of the threads that the semaphore has been released
|
||||
// stop once the semaphore is full again or there are no more waiting threads
|
||||
while (!semaphore->ShouldWait() && semaphore->ReleaseNextThread() != nullptr) {
|
||||
while (!semaphore->ShouldWait() && semaphore->WakeupNextThread() != nullptr) {
|
||||
semaphore->Acquire();
|
||||
}
|
||||
|
||||
|
@ -104,7 +104,7 @@ void Thread::Stop(const char* reason) {
|
||||
|
||||
ChangeReadyState(this, false);
|
||||
status = THREADSTATUS_DORMANT;
|
||||
ReleaseAllWaitingThreads();
|
||||
WakeupAllWaitingThreads();
|
||||
|
||||
// Stopped threads are never waiting.
|
||||
wait_objects.clear();
|
||||
|
@ -90,7 +90,7 @@ static void TimerCallback(u64 timer_handle, int cycles_late) {
|
||||
timer->signaled = true;
|
||||
|
||||
// Resume all waiting threads
|
||||
timer->ReleaseAllWaitingThreads();
|
||||
timer->WakeupAllWaitingThreads();
|
||||
|
||||
if (timer->reset_type == RESETTYPE_ONESHOT)
|
||||
timer->signaled = false;
|
||||
|
Loading…
Reference in New Issue
Block a user