kernel: match calls to Register and Unregister
This commit is contained in:
parent
fe57f39676
commit
1b5c87ab6a
9 changed files with 50 additions and 5 deletions
|
@ -156,6 +156,7 @@ public:
|
|||
|
||||
auto* session = Kernel::KSession::Create(kernel);
|
||||
session->Initialize(nullptr, 0);
|
||||
Kernel::KSession::Register(kernel, session);
|
||||
|
||||
auto next_manager = std::make_shared<Service::SessionRequestManager>(
|
||||
kernel, manager->GetServerManager());
|
||||
|
|
|
@ -25,6 +25,9 @@ ServiceContext::ServiceContext(Core::System& system_, std::string name_)
|
|||
Kernel::KProcess::ProcessType::KernelInternal,
|
||||
kernel.GetSystemResourceLimit())
|
||||
.IsSuccess());
|
||||
|
||||
// Register the process.
|
||||
Kernel::KProcess::Register(kernel, process);
|
||||
process_created = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,9 @@ Mutex::Mutex(Core::System& system) : m_system(system) {
|
|||
m_event = Kernel::KEvent::Create(system.Kernel());
|
||||
m_event->Initialize(nullptr);
|
||||
|
||||
// Register the event.
|
||||
Kernel::KEvent::Register(system.Kernel(), m_event);
|
||||
|
||||
ASSERT(R_SUCCEEDED(m_event->Signal()));
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,9 @@ ServerManager::ServerManager(Core::System& system) : m_system{system}, m_serve_m
|
|||
// Initialize event.
|
||||
m_event = Kernel::KEvent::Create(system.Kernel());
|
||||
m_event->Initialize(nullptr);
|
||||
|
||||
// Register event.
|
||||
Kernel::KEvent::Register(system.Kernel(), m_event);
|
||||
}
|
||||
|
||||
ServerManager::~ServerManager() {
|
||||
|
@ -160,6 +163,9 @@ Result ServerManager::ManageDeferral(Kernel::KEvent** out_event) {
|
|||
// Initialize the event.
|
||||
m_deferral_event->Initialize(nullptr);
|
||||
|
||||
// Register the event.
|
||||
Kernel::KEvent::Register(m_system.Kernel(), m_deferral_event);
|
||||
|
||||
// Set the output.
|
||||
*out_event = m_deferral_event;
|
||||
|
||||
|
|
|
@ -64,6 +64,9 @@ Result ServiceManager::RegisterService(std::string name, u32 max_sessions,
|
|||
auto* port = Kernel::KPort::Create(kernel);
|
||||
port->Initialize(ServerSessionCountMax, false, 0);
|
||||
|
||||
// Register the port.
|
||||
Kernel::KPort::Register(kernel, port);
|
||||
|
||||
service_ports.emplace(name, port);
|
||||
registered_services.emplace(name, handler);
|
||||
if (deferral_event) {
|
||||
|
|
|
@ -49,6 +49,9 @@ void Controller::CloneCurrentObject(HLERequestContext& ctx) {
|
|||
// Commit the session reservation.
|
||||
session_reservation.Commit();
|
||||
|
||||
// Register the session.
|
||||
Kernel::KSession::Register(system.Kernel(), session);
|
||||
|
||||
// Register with server manager.
|
||||
session_manager->GetServerManager().RegisterSession(&session->GetServerSession(),
|
||||
session_manager);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue