mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Session: Change to a WaitObject.
This commit is contained in:
		
							parent
							
								
									d2759c578e
								
							
						
					
					
						commit
						9e6ec3b6cd
					
				
					 3 changed files with 9 additions and 2 deletions
				
			
		|  | @ -39,7 +39,7 @@ Thread* WaitObject::ReleaseNextThread() { | |||
| 
 | ||||
|     next_thread->ReleaseWaitObject(this); | ||||
| 
 | ||||
|     return next_thread.get(); | ||||
|     return next_thread; | ||||
| } | ||||
| 
 | ||||
| void WaitObject::WakeupAllWaitingThreads() { | ||||
|  |  | |||
|  | @ -71,6 +71,7 @@ public: | |||
|      */ | ||||
|     bool IsWaitable() const { | ||||
|         switch (GetHandleType()) { | ||||
|         case HandleType::Session: | ||||
|         case HandleType::Event: | ||||
|         case HandleType::Mutex: | ||||
|         case HandleType::Thread: | ||||
|  |  | |||
|  | @ -41,7 +41,7 @@ inline static u32* GetCommandBuffer(const int offset=0) { | |||
|  * CTR-OS so that IPC calls can be optionally handled by the real implementations of processes, as | ||||
|  * opposed to HLE simulations. | ||||
|  */ | ||||
| class Session : public Object { | ||||
| class Session : public WaitObject { | ||||
| public: | ||||
|     std::string GetTypeName() const override { return "Session"; } | ||||
| 
 | ||||
|  | @ -53,6 +53,12 @@ public: | |||
|      * aren't supported yet. | ||||
|      */ | ||||
|     virtual ResultVal<bool> SyncRequest() = 0; | ||||
| 
 | ||||
|     ResultVal<bool> Wait() override { | ||||
|         // TODO(bunnei): This function exists to satisfy a hardware test with a Session object
 | ||||
|         // passed into WaitSynchronization. Not sure if it's possible for this to ever be false?
 | ||||
|         return MakeResult<bool>(true); | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue