1
1
Fork 0
forked from suyu/suyu

core/hle: Replace lock_guard with scoped_lock

This commit is contained in:
Merry 2022-04-07 19:31:32 +01:00
parent c589db6add
commit 1f275eb077
4 changed files with 13 additions and 13 deletions

View file

@ -99,7 +99,7 @@ struct KernelCore::Impl {
// Close all open server ports. // Close all open server ports.
std::unordered_set<KServerPort*> server_ports_; std::unordered_set<KServerPort*> server_ports_;
{ {
std::lock_guard lk(server_ports_lock); std::scoped_lock lk{server_ports_lock};
server_ports_ = server_ports; server_ports_ = server_ports;
server_ports.clear(); server_ports.clear();
} }
@ -157,7 +157,7 @@ struct KernelCore::Impl {
// Close kernel objects that were not freed on shutdown // Close kernel objects that were not freed on shutdown
{ {
std::lock_guard lk(registered_in_use_objects_lock); std::scoped_lock lk{registered_in_use_objects_lock};
if (registered_in_use_objects.size()) { if (registered_in_use_objects.size()) {
for (auto& object : registered_in_use_objects) { for (auto& object : registered_in_use_objects) {
object->Close(); object->Close();
@ -178,7 +178,7 @@ struct KernelCore::Impl {
// Track kernel objects that were not freed on shutdown // Track kernel objects that were not freed on shutdown
{ {
std::lock_guard lk(registered_objects_lock); std::scoped_lock lk{registered_objects_lock};
if (registered_objects.size()) { if (registered_objects.size()) {
LOG_DEBUG(Kernel, "{} kernel objects were dangling on shutdown!", LOG_DEBUG(Kernel, "{} kernel objects were dangling on shutdown!",
registered_objects.size()); registered_objects.size());
@ -660,7 +660,7 @@ struct KernelCore::Impl {
KClientPort* port = &search->second(system.ServiceManager(), system); KClientPort* port = &search->second(system.ServiceManager(), system);
{ {
std::lock_guard lk(server_ports_lock); std::scoped_lock lk{server_ports_lock};
server_ports.insert(&port->GetParent()->GetServerPort()); server_ports.insert(&port->GetParent()->GetServerPort());
} }
return port; return port;
@ -929,22 +929,22 @@ KClientPort* KernelCore::CreateNamedServicePort(std::string name) {
} }
void KernelCore::RegisterKernelObject(KAutoObject* object) { void KernelCore::RegisterKernelObject(KAutoObject* object) {
std::lock_guard lk(impl->registered_objects_lock); std::scoped_lock lk{impl->registered_objects_lock};
impl->registered_objects.insert(object); impl->registered_objects.insert(object);
} }
void KernelCore::UnregisterKernelObject(KAutoObject* object) { void KernelCore::UnregisterKernelObject(KAutoObject* object) {
std::lock_guard lk(impl->registered_objects_lock); std::scoped_lock lk{impl->registered_objects_lock};
impl->registered_objects.erase(object); impl->registered_objects.erase(object);
} }
void KernelCore::RegisterInUseObject(KAutoObject* object) { void KernelCore::RegisterInUseObject(KAutoObject* object) {
std::lock_guard lk(impl->registered_in_use_objects_lock); std::scoped_lock lk{impl->registered_in_use_objects_lock};
impl->registered_in_use_objects.insert(object); impl->registered_in_use_objects.insert(object);
} }
void KernelCore::UnregisterInUseObject(KAutoObject* object) { void KernelCore::UnregisterInUseObject(KAutoObject* object) {
std::lock_guard lk(impl->registered_in_use_objects_lock); std::scoped_lock lk{impl->registered_in_use_objects_lock};
impl->registered_in_use_objects.erase(object); impl->registered_in_use_objects.erase(object);
} }

View file

@ -24,7 +24,7 @@ TimeManager::TimeManager(Core::System& system_) : system{system_} {
} }
void TimeManager::ScheduleTimeEvent(KThread* thread, s64 nanoseconds) { void TimeManager::ScheduleTimeEvent(KThread* thread, s64 nanoseconds) {
std::lock_guard lock{mutex}; std::scoped_lock lock{mutex};
if (nanoseconds > 0) { if (nanoseconds > 0) {
ASSERT(thread); ASSERT(thread);
ASSERT(thread->GetState() != ThreadState::Runnable); ASSERT(thread->GetState() != ThreadState::Runnable);
@ -35,7 +35,7 @@ void TimeManager::ScheduleTimeEvent(KThread* thread, s64 nanoseconds) {
} }
void TimeManager::UnscheduleTimeEvent(KThread* thread) { void TimeManager::UnscheduleTimeEvent(KThread* thread) {
std::lock_guard lock{mutex}; std::scoped_lock lock{mutex};
system.CoreTiming().UnscheduleEvent(time_manager_event_type, system.CoreTiming().UnscheduleEvent(time_manager_event_type,
reinterpret_cast<uintptr_t>(thread)); reinterpret_cast<uintptr_t>(thread));
} }

View file

@ -318,7 +318,7 @@ void Controller_NPad::OnRelease() {
} }
void Controller_NPad::RequestPadStateUpdate(Core::HID::NpadIdType npad_id) { void Controller_NPad::RequestPadStateUpdate(Core::HID::NpadIdType npad_id) {
std::lock_guard lock{mutex}; std::scoped_lock lock{mutex};
auto& controller = GetControllerFromNpadIdType(npad_id); auto& controller = GetControllerFromNpadIdType(npad_id);
const auto controller_type = controller.device->GetNpadStyleIndex(); const auto controller_type = controller.device->GetNpadStyleIndex();
if (!controller.device->IsConnected()) { if (!controller.device->IsConnected()) {

View file

@ -14,7 +14,7 @@ HosBinderDriverServer::HosBinderDriverServer(Core::System& system_)
HosBinderDriverServer::~HosBinderDriverServer() {} HosBinderDriverServer::~HosBinderDriverServer() {}
u64 HosBinderDriverServer::RegisterProducer(std::unique_ptr<android::IBinder>&& binder) { u64 HosBinderDriverServer::RegisterProducer(std::unique_ptr<android::IBinder>&& binder) {
std::lock_guard lk{lock}; std::scoped_lock lk{lock};
last_id++; last_id++;
@ -24,7 +24,7 @@ u64 HosBinderDriverServer::RegisterProducer(std::unique_ptr<android::IBinder>&&
} }
android::IBinder* HosBinderDriverServer::TryGetProducer(u64 id) { android::IBinder* HosBinderDriverServer::TryGetProducer(u64 id) {
std::lock_guard lk{lock}; std::scoped_lock lk{lock};
if (auto search = producers.find(id); search != producers.end()) { if (auto search = producers.find(id); search != producers.end()) {
return search->second.get(); return search->second.get();