mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	WaitSynchronization: Added a result code for invalid result, fixed bug.
This commit is contained in:
		
							parent
							
								
									68ddaaa2f5
								
							
						
					
					
						commit
						731154f79e
					
				
					 1 changed files with 9 additions and 3 deletions
				
			
		|  | @ -29,6 +29,9 @@ using Kernel::SharedPtr; | |||
| 
 | ||||
| namespace SVC { | ||||
| 
 | ||||
| /// An invalid result code that is meant to be overwritten when a thread resumes from waiting
 | ||||
| const ResultCode RESULT_INVALID(0xDEADC0DE); | ||||
| 
 | ||||
| enum ControlMemoryOperation { | ||||
|     MEMORY_OPERATION_HEAP       = 0x00000003, | ||||
|     MEMORY_OPERATION_GSP_HEAP   = 0x00010003, | ||||
|  | @ -132,10 +135,13 @@ static Result WaitSynchronization1(Handle handle, s64 nano_seconds) { | |||
|         Kernel::WakeThreadAfterDelay(Kernel::GetCurrentThread(), nano_seconds); | ||||
| 
 | ||||
|         HLE::Reschedule(__func__); | ||||
|     } else { | ||||
|         object->Acquire(); | ||||
| 
 | ||||
|         // NOTE: output of this SVC will be set later depending on how the thread resumes
 | ||||
|         return RESULT_INVALID.raw; | ||||
|     } | ||||
| 
 | ||||
|     object->Acquire(); | ||||
| 
 | ||||
|     return RESULT_SUCCESS.raw; | ||||
| } | ||||
| 
 | ||||
|  | @ -207,7 +213,7 @@ static Result WaitSynchronizationN(s32* out, Handle* handles, s32 handle_count, | |||
|         HLE::Reschedule(__func__); | ||||
| 
 | ||||
|         // NOTE: output of this SVC will be set later depending on how the thread resumes
 | ||||
|         return 0xDEADBEEF; | ||||
|         return RESULT_INVALID.raw; | ||||
|     } | ||||
| 
 | ||||
|     // Acquire objects if we did not wait...
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue