mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-05-28 05:34:11 -04:00
stratosphere: Use RAII for locks
This renames the Mutex class member functions so that the mutex types satisfy Lockable. This makes them usable with standard std::scoped_lock and std::unique_lock, which lets us use RAII and avoids the need for a custom RAII wrapper :)
This commit is contained in:
parent
18153713d9
commit
5b3e8e1c5d
11 changed files with 52 additions and 91 deletions
|
@ -1,4 +1,5 @@
|
|||
#pragma once
|
||||
#include <mutex>
|
||||
#include <switch.h>
|
||||
#include <stratosphere.hpp>
|
||||
#include "pm_registration.hpp"
|
||||
|
@ -36,18 +37,10 @@ class ProcessList final {
|
|||
public:
|
||||
std::vector<std::shared_ptr<Registration::Process>> processes;
|
||||
|
||||
void Lock() {
|
||||
this->mutex.Lock();
|
||||
auto get_unique_lock() {
|
||||
return std::unique_lock{this->mutex};
|
||||
}
|
||||
|
||||
void Unlock() {
|
||||
this->mutex.Unlock();
|
||||
}
|
||||
|
||||
bool TryLock() {
|
||||
return this->mutex.TryLock();
|
||||
}
|
||||
|
||||
|
||||
void set_manager(WaitableManager *manager) {
|
||||
this->manager = manager;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue