Project Andio
This commit is contained in:
parent
6e36f4d230
commit
458da8a948
270 changed files with 33712 additions and 8445 deletions
|
@ -95,19 +95,7 @@ struct KernelCore::Impl {
|
|||
|
||||
process_list.clear();
|
||||
|
||||
// Close all open server sessions and ports.
|
||||
std::unordered_set<KAutoObject*> server_objects_;
|
||||
{
|
||||
std::scoped_lock lk(server_objects_lock);
|
||||
server_objects_ = server_objects;
|
||||
server_objects.clear();
|
||||
}
|
||||
for (auto* server_object : server_objects_) {
|
||||
server_object->Close();
|
||||
}
|
||||
|
||||
// Ensures all service threads gracefully shutdown.
|
||||
ClearServiceThreads();
|
||||
CloseServices();
|
||||
|
||||
next_object_id = 0;
|
||||
next_kernel_process_id = KProcess::InitialKIPIDMin;
|
||||
|
@ -191,6 +179,22 @@ struct KernelCore::Impl {
|
|||
global_object_list_container.reset();
|
||||
}
|
||||
|
||||
void CloseServices() {
|
||||
// Close all open server sessions and ports.
|
||||
std::unordered_set<KAutoObject*> server_objects_;
|
||||
{
|
||||
std::scoped_lock lk(server_objects_lock);
|
||||
server_objects_ = server_objects;
|
||||
server_objects.clear();
|
||||
}
|
||||
for (auto* server_object : server_objects_) {
|
||||
server_object->Close();
|
||||
}
|
||||
|
||||
// Ensures all service threads gracefully shutdown.
|
||||
ClearServiceThreads();
|
||||
}
|
||||
|
||||
void InitializePhysicalCores() {
|
||||
exclusive_monitor =
|
||||
Core::MakeExclusiveMonitor(system.Memory(), Core::Hardware::NUM_CPU_CORES);
|
||||
|
@ -813,6 +817,10 @@ void KernelCore::Shutdown() {
|
|||
impl->Shutdown();
|
||||
}
|
||||
|
||||
void KernelCore::CloseServices() {
|
||||
impl->CloseServices();
|
||||
}
|
||||
|
||||
const KResourceLimit* KernelCore::GetSystemResourceLimit() const {
|
||||
return impl->system_resource_limit;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue