mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-12 13:13:43 +00:00
atomic.hpp: fixup for atomic waiting
This commit is contained in:
parent
feee3838eb
commit
74471e8ea3
@ -258,15 +258,20 @@ void atomic_storage_futex::wait(const void* data, std::size_t size, u64 old_valu
|
||||
{
|
||||
if (value & s_waiter_mask)
|
||||
{
|
||||
value -= s_waiter_mask & -s_waiter_mask;
|
||||
|
||||
#ifdef _WIN32
|
||||
if (!fallback)
|
||||
{
|
||||
if ((value & s_signal_mask) == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
value -= s_signal_mask & -s_signal_mask;
|
||||
}
|
||||
#endif
|
||||
|
||||
value -= s_waiter_mask & -s_waiter_mask;
|
||||
|
||||
if ((value & s_waiter_mask) == 0)
|
||||
{
|
||||
// Reset on last waiter
|
||||
|
Loading…
x
Reference in New Issue
Block a user