mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	Merge pull request #456 from Subv/waitsync1
SVC: Wake up the thread after the delay in WaitSync1
This commit is contained in:
		@@ -120,9 +120,6 @@ static Result CloseHandle(Handle handle) {
 | 
			
		||||
 | 
			
		||||
/// Wait for a handle to synchronize, timeout after the specified nanoseconds
 | 
			
		||||
static Result WaitSynchronization1(Handle handle, s64 nano_seconds) {
 | 
			
		||||
    // TODO(bunnei): Do something with nano_seconds, currently ignoring this
 | 
			
		||||
    bool wait_infinite = (nano_seconds == -1); // Used to wait until a thread has terminated
 | 
			
		||||
 | 
			
		||||
    SharedPtr<Kernel::Object> object = Kernel::g_handle_table.GetGeneric(handle);
 | 
			
		||||
    if (object == nullptr)
 | 
			
		||||
        return InvalidHandle(ErrorModule::Kernel).raw;
 | 
			
		||||
@@ -134,6 +131,8 @@ static Result WaitSynchronization1(Handle handle, s64 nano_seconds) {
 | 
			
		||||
 | 
			
		||||
    // Check for next thread to schedule
 | 
			
		||||
    if (wait.Succeeded() && *wait) {
 | 
			
		||||
        // Create an event to wake the thread up after the specified nanosecond delay has passed
 | 
			
		||||
        Kernel::WakeThreadAfterDelay(Kernel::GetCurrentThread(), nano_seconds);
 | 
			
		||||
        HLE::Reschedule(__func__);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user