mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	Merge pull request #2410 from Subv/sleepthread
Don't yield execution in SleepThread(0) if there are no available threads to run
This commit is contained in:
		@@ -508,6 +508,10 @@ SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority) {
 | 
			
		||||
    return thread;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool HaveReadyThreads() {
 | 
			
		||||
    return ready_queue.get_first() != nullptr;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Reschedule() {
 | 
			
		||||
    Thread* cur = GetCurrentThread();
 | 
			
		||||
    Thread* next = PopNextReadyThread();
 | 
			
		||||
 
 | 
			
		||||
@@ -218,6 +218,11 @@ private:
 | 
			
		||||
 */
 | 
			
		||||
SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns whether there are any threads that are ready to run.
 | 
			
		||||
 */
 | 
			
		||||
bool HaveReadyThreads();
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Reschedules to the next available thread (call after current thread is suspended)
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user