mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-11-04 04:34:07 +01:00 
			
		
		
		
	Properly write out the command buffer when serving close request
This commit is contained in:
		
							parent
							
								
									9dcfef744c
								
							
						
					
					
						commit
						1cf6f5c623
					
				@ -194,13 +194,16 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session,
 | 
				
			|||||||
                                               Kernel::HLERequestContext& ctx) {
 | 
					                                               Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    const auto guard = LockService();
 | 
					    const auto guard = LockService();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Result result = ResultSuccess;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    switch (ctx.GetCommandType()) {
 | 
					    switch (ctx.GetCommandType()) {
 | 
				
			||||||
    case IPC::CommandType::Close:
 | 
					    case IPC::CommandType::Close:
 | 
				
			||||||
    case IPC::CommandType::TIPC_Close: {
 | 
					    case IPC::CommandType::TIPC_Close: {
 | 
				
			||||||
        session.Close();
 | 
					        session.Close();
 | 
				
			||||||
        IPC::ResponseBuilder rb{ctx, 2};
 | 
					        IPC::ResponseBuilder rb{ctx, 2};
 | 
				
			||||||
        rb.Push(ResultSuccess);
 | 
					        rb.Push(ResultSuccess);
 | 
				
			||||||
        return IPC::ERR_REMOTE_PROCESS_DEAD;
 | 
					        result = IPC::ERR_REMOTE_PROCESS_DEAD;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    case IPC::CommandType::ControlWithContext:
 | 
					    case IPC::CommandType::ControlWithContext:
 | 
				
			||||||
    case IPC::CommandType::Control: {
 | 
					    case IPC::CommandType::Control: {
 | 
				
			||||||
@ -227,7 +230,7 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session,
 | 
				
			|||||||
        ctx.WriteToOutgoingCommandBuffer(ctx.GetThread());
 | 
					        ctx.WriteToOutgoingCommandBuffer(ctx.GetThread());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return ResultSuccess;
 | 
					    return result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Initialize Services
 | 
					/// Initialize Services
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user