mirror of https://github.com/RPCS3/rpcs3.git
Merge pull request #743 from tambry/DefaultRWLock
Create RWLock with default attributes, when attributes is a null pointer
This commit is contained in:
commit
60cb52bd23
|
@ -10,6 +10,8 @@ s32 sys_rwlock_create(mem32_t rw_lock_id, mem_ptr_t<sys_rwlock_attribute_t> attr
|
||||||
{
|
{
|
||||||
sys_rwlock.Warning("sys_rwlock_create(rw_lock_id_addr=0x%x, attr_addr=0x%x)", rw_lock_id.GetAddr(), attr.GetAddr());
|
sys_rwlock.Warning("sys_rwlock_create(rw_lock_id_addr=0x%x, attr_addr=0x%x)", rw_lock_id.GetAddr(), attr.GetAddr());
|
||||||
|
|
||||||
|
if (attr)
|
||||||
|
{
|
||||||
switch (attr->attr_protocol.ToBE())
|
switch (attr->attr_protocol.ToBE())
|
||||||
{
|
{
|
||||||
case se(attr->attr_protocol, SYS_SYNC_PRIORITY): sys_rwlock.Todo("SYS_SYNC_PRIORITY"); break;
|
case se(attr->attr_protocol, SYS_SYNC_PRIORITY): sys_rwlock.Todo("SYS_SYNC_PRIORITY"); break;
|
||||||
|
@ -29,6 +31,16 @@ s32 sys_rwlock_create(mem32_t rw_lock_id, mem_ptr_t<sys_rwlock_attribute_t> attr
|
||||||
|
|
||||||
sys_rwlock.Warning("*** rwlock created [%s] (protocol=0x%x): id = %d",
|
sys_rwlock.Warning("*** rwlock created [%s] (protocol=0x%x): id = %d",
|
||||||
std::string(attr->name, 8).c_str(), (u32)attr->attr_protocol, rw_lock_id.GetValue());
|
std::string(attr->name, 8).c_str(), (u32)attr->attr_protocol, rw_lock_id.GetValue());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sys_rwlock.Todo("SYS_SYNC_PRIORITY");
|
||||||
|
|
||||||
|
rw_lock_id = sys_rwlock.GetNewId(new RWLock((u32)SYS_SYNC_PRIORITY, (u64)"default"));
|
||||||
|
|
||||||
|
sys_rwlock.Warning("*** rwlock created [%s] (protocol=0x%x): id = %d",
|
||||||
|
std::string("default", 8).c_str(), (u32)SYS_SYNC_PRIORITY, rw_lock_id.GetValue());
|
||||||
|
}
|
||||||
|
|
||||||
return CELL_OK;
|
return CELL_OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue