Properly write out the command buffer when serving close request
This commit is contained in:
parent
9dcfef744c
commit
1cf6f5c623
1 changed files with 5 additions and 2 deletions
|
@ -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 a new issue