mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-13 02:08:49 +12:00
Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex)
Remove semaphore_lock and writer_lock classes, replace with std::lock_guard Change semaphore<> interface to Lockable (+ exotic try_unlock method)
This commit is contained in:
parent
5e556a87ff
commit
ca5158a03e
50 changed files with 283 additions and 382 deletions
|
@ -31,7 +31,7 @@ std::shared_ptr<lv2_event_queue> lv2_event_queue::find(u64 ipc_key)
|
|||
|
||||
bool lv2_event_queue::send(lv2_event event)
|
||||
{
|
||||
semaphore_lock lock(mutex);
|
||||
std::lock_guard lock(mutex);
|
||||
|
||||
if (sq.empty())
|
||||
{
|
||||
|
@ -147,7 +147,7 @@ error_code sys_event_queue_destroy(ppu_thread& ppu, u32 equeue_id, s32 mode)
|
|||
|
||||
const auto queue = idm::withdraw<lv2_obj, lv2_event_queue>(equeue_id, [&](lv2_event_queue& queue) -> CellError
|
||||
{
|
||||
semaphore_lock lock(queue.mutex);
|
||||
std::lock_guard lock(queue.mutex);
|
||||
|
||||
if (!mode && !queue.sq.empty())
|
||||
{
|
||||
|
@ -169,7 +169,7 @@ error_code sys_event_queue_destroy(ppu_thread& ppu, u32 equeue_id, s32 mode)
|
|||
|
||||
if (mode == SYS_EVENT_QUEUE_DESTROY_FORCE)
|
||||
{
|
||||
semaphore_lock lock(queue->mutex);
|
||||
std::lock_guard lock(queue->mutex);
|
||||
|
||||
for (auto cpu : queue->sq)
|
||||
{
|
||||
|
@ -206,7 +206,7 @@ error_code sys_event_queue_tryreceive(u32 equeue_id, vm::ptr<sys_event_t> event_
|
|||
return CELL_EINVAL;
|
||||
}
|
||||
|
||||
semaphore_lock lock(queue->mutex);
|
||||
std::lock_guard lock(queue->mutex);
|
||||
|
||||
s32 count = 0;
|
||||
|
||||
|
@ -237,7 +237,7 @@ error_code sys_event_queue_receive(ppu_thread& ppu, u32 equeue_id, vm::ptr<sys_e
|
|||
return CELL_EINVAL;
|
||||
}
|
||||
|
||||
semaphore_lock lock(queue.mutex);
|
||||
std::lock_guard lock(queue.mutex);
|
||||
|
||||
if (queue.events.empty())
|
||||
{
|
||||
|
@ -277,7 +277,7 @@ error_code sys_event_queue_receive(ppu_thread& ppu, u32 equeue_id, vm::ptr<sys_e
|
|||
|
||||
if (passed >= timeout)
|
||||
{
|
||||
semaphore_lock lock(queue->mutex);
|
||||
std::lock_guard lock(queue->mutex);
|
||||
|
||||
if (!queue->unqueue(queue->sq, &ppu))
|
||||
{
|
||||
|
@ -306,7 +306,7 @@ error_code sys_event_queue_drain(u32 equeue_id)
|
|||
|
||||
const auto queue = idm::check<lv2_obj, lv2_event_queue>(equeue_id, [&](lv2_event_queue& queue)
|
||||
{
|
||||
semaphore_lock lock(queue.mutex);
|
||||
std::lock_guard lock(queue.mutex);
|
||||
|
||||
queue.events.clear();
|
||||
});
|
||||
|
@ -369,7 +369,7 @@ error_code sys_event_port_connect_local(u32 eport_id, u32 equeue_id)
|
|||
{
|
||||
sys_event.warning("sys_event_port_connect_local(eport_id=0x%x, equeue_id=0x%x)", eport_id, equeue_id);
|
||||
|
||||
writer_lock lock(id_manager::g_mutex);
|
||||
std::lock_guard lock(id_manager::g_mutex);
|
||||
|
||||
const auto port = idm::check_unlocked<lv2_obj, lv2_event_port>(eport_id);
|
||||
|
||||
|
@ -399,7 +399,7 @@ error_code sys_event_port_connect_ipc(u32 eport_id, u64 ipc_key)
|
|||
|
||||
auto queue = lv2_event_queue::find(ipc_key);
|
||||
|
||||
writer_lock lock(id_manager::g_mutex);
|
||||
std::lock_guard lock(id_manager::g_mutex);
|
||||
|
||||
const auto port = idm::check_unlocked<lv2_obj, lv2_event_port>(eport_id);
|
||||
|
||||
|
@ -427,7 +427,7 @@ error_code sys_event_port_disconnect(u32 eport_id)
|
|||
{
|
||||
sys_event.warning("sys_event_port_disconnect(eport_id=0x%x)", eport_id);
|
||||
|
||||
writer_lock lock(id_manager::g_mutex);
|
||||
std::lock_guard lock(id_manager::g_mutex);
|
||||
|
||||
const auto port = idm::check_unlocked<lv2_obj, lv2_event_port>(eport_id);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue