mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	SRV: Updated GetProcSemaphore to create an event instead of a mutex.
This commit is contained in:
		
							parent
							
								
									4d4607041b
								
							
						
					
					
						commit
						1b247b8031
					
				
					 1 changed files with 10 additions and 8 deletions
				
			
		|  | @ -5,28 +5,30 @@ | |||
| #include "core/hle/hle.h" | ||||
| #include "core/hle/service/srv.h" | ||||
| #include "core/hle/service/service.h" | ||||
| #include "core/hle/kernel/mutex.h" | ||||
| #include "core/hle/kernel/event.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Namespace SRV
 | ||||
| 
 | ||||
| namespace SRV { | ||||
| 
 | ||||
| Handle g_mutex = 0; | ||||
| Handle g_event_handle = 0; | ||||
| 
 | ||||
| void Initialize(Service::Interface* self) { | ||||
|     DEBUG_LOG(OSHLE, "called"); | ||||
|     if (!g_mutex) { | ||||
|         g_mutex = Kernel::CreateMutex(true, "SRV:Lock"); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void GetProcSemaphore(Service::Interface* self) { | ||||
|     DEBUG_LOG(OSHLE, "called"); | ||||
|     // Get process semaphore?
 | ||||
| 
 | ||||
|     u32* cmd_buff = Service::GetCommandBuffer(); | ||||
|     cmd_buff[1] = 0;        // No error
 | ||||
|     cmd_buff[3] = g_mutex;  // Return something... 0 == nullptr, raises an exception
 | ||||
| 
 | ||||
|     // TODO(bunnei): Change to a semaphore once these have been implemented
 | ||||
|     g_event_handle = Kernel::CreateEvent(RESETTYPE_ONESHOT, "SRV:Event"); | ||||
|     Kernel::SetEventLocked(g_event_handle, false); | ||||
| 
 | ||||
|     cmd_buff[1] = 0; // No error
 | ||||
|     cmd_buff[3] = g_event_handle; | ||||
| } | ||||
| 
 | ||||
| void GetServiceHandle(Service::Interface* self) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue