forked from eden-emu/eden
		
	hle: service: sm: Fix GetService setup of session & port.
This commit is contained in:
		
							parent
							
								
									2aa6a8d889
								
							
						
					
					
						commit
						ec5674a6ad
					
				
					 2 changed files with 5 additions and 5 deletions
				
			
		|  | @ -66,7 +66,7 @@ ResultCode KClientPort::CreateSession(KClientSession** out, | |||
|     // Update the session counts.
 | ||||
|     { | ||||
|         // Atomically increment the number of sessions.
 | ||||
|         s32 new_sessions; | ||||
|         s32 new_sessions{}; | ||||
|         { | ||||
|             const auto max = max_sessions; | ||||
|             auto cur_sessions = num_sessions.load(std::memory_order_acquire); | ||||
|  |  | |||
|  | @ -164,18 +164,18 @@ ResultVal<Kernel::KClientSession*> SM::GetServiceImpl(Kernel::HLERequestContext& | |||
|     R_UNLESS(session_reservation.Succeeded(), Kernel::ResultLimitReached); | ||||
| 
 | ||||
|     // Create a new session.
 | ||||
|     auto* session = Kernel::KSession::Create(kernel); | ||||
|     session->Initialize(&port->GetClientPort(), std::move(name)); | ||||
|     Kernel::KClientSession* session{}; | ||||
|     port->GetClientPort().CreateSession(std::addressof(session)); | ||||
| 
 | ||||
|     // Commit the session reservation.
 | ||||
|     session_reservation.Commit(); | ||||
| 
 | ||||
|     // Enqueue the session with the named port.
 | ||||
|     port->EnqueueSession(&session->GetServerSession()); | ||||
|     port->EnqueueSession(&session->GetParent()->GetServerSession()); | ||||
| 
 | ||||
|     LOG_DEBUG(Service_SM, "called service={} -> session={}", name, session->GetId()); | ||||
| 
 | ||||
|     return MakeResult(&session->GetClientSession()); | ||||
|     return MakeResult(session); | ||||
| } | ||||
| 
 | ||||
| void SM::RegisterService(Kernel::HLERequestContext& ctx) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 bunnei
						bunnei