mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-07-22 06:55:47 +00:00
hle: kernel: Refactor to allocate a ServiceThread per service handler.
- Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject. - This results in race conditions with N sessions queuing requests to the same service interface. - Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347.
This commit is contained in:
parent
3c2b21d3b9
commit
8bf7b19d1d
13 changed files with 75 additions and 67 deletions
|
@ -46,7 +46,7 @@ Kernel::KClientPort& ServiceManager::InterfaceFactory(ServiceManager& self, Core
|
|||
self.sm_interface = sm;
|
||||
self.controller_interface = std::make_unique<Controller>(system);
|
||||
|
||||
return sm->CreatePort(system.Kernel());
|
||||
return sm->CreatePort();
|
||||
}
|
||||
|
||||
ResultVal<Kernel::KServerPort*> ServiceManager::RegisterService(std::string name,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue