mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	HLE: Use std::chrono::nanoseconds instead of a plain u64 in SleepClientThread.
This commit is contained in:
		
							parent
							
								
									2052a201c0
								
							
						
					
					
						commit
						b0f4390247
					
				
					 2 changed files with 7 additions and 5 deletions
				
			
		|  | @ -26,7 +26,8 @@ void SessionRequestHandler::ClientDisconnected(SharedPtr<ServerSession> server_s | |||
| } | ||||
| 
 | ||||
| SharedPtr<Event> HLERequestContext::SleepClientThread(SharedPtr<Thread> thread, | ||||
|                                                       const std::string& reason, u64 timeout, | ||||
|                                                       const std::string& reason, | ||||
|                                                       std::chrono::nanoseconds timeout, | ||||
|                                                       WakeupCallback&& callback) { | ||||
|     // Put the client thread to sleep until the wait event is signaled or the timeout expires.
 | ||||
|     thread->wakeup_callback = [ context = *this, callback ]( | ||||
|  | @ -52,8 +53,8 @@ SharedPtr<Event> HLERequestContext::SleepClientThread(SharedPtr<Thread> thread, | |||
|     thread->wait_objects = {event}; | ||||
|     event->AddWaitingThread(thread); | ||||
| 
 | ||||
|     if (timeout > 0) | ||||
|         thread->WakeAfterDelay(timeout); | ||||
|     if (timeout.count() > 0) | ||||
|         thread->WakeAfterDelay(timeout.count()); | ||||
| 
 | ||||
|     return event; | ||||
| } | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
| #pragma once | ||||
| 
 | ||||
| #include <array> | ||||
| #include <chrono> | ||||
| #include <memory> | ||||
| #include <string> | ||||
| #include <vector> | ||||
|  | @ -146,7 +147,7 @@ public: | |||
|     using WakeupCallback = std::function<void(SharedPtr<Thread> thread, HLERequestContext& context, | ||||
|                                               ThreadWakeupReason reason)>; | ||||
| 
 | ||||
|     /*
 | ||||
|     /**
 | ||||
|      * Puts the specified guest thread to sleep until the returned event is signaled or until the | ||||
|      * specified timeout expires. | ||||
|      * @param thread Thread to be put to sleep. | ||||
|  | @ -159,7 +160,7 @@ public: | |||
|      * @returns Event that when signaled will resume the thread and call the callback function. | ||||
|      */ | ||||
|     SharedPtr<Event> SleepClientThread(SharedPtr<Thread> thread, const std::string& reason, | ||||
|                                        u64 timeout, WakeupCallback&& callback); | ||||
|                                        std::chrono::nanoseconds timeout, WakeupCallback&& callback); | ||||
| 
 | ||||
|     /**
 | ||||
|      * Resolves a object id from the request command buffer into a pointer to an object. See the | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue