mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 14:08:37 +00:00
sleep_queue_t rewritten, used in sys_cond/sys_mutex
Some synchronization fixes
This commit is contained in:
parent
eafddd9e33
commit
c0f13f7084
29 changed files with 350 additions and 427 deletions
|
|
@ -1290,10 +1290,12 @@ void thread_t::start(std::function<std::string()> name, std::function<void()> fu
|
|||
}
|
||||
catch (const char* e) // obsolete
|
||||
{
|
||||
LOG_ERROR(GENERAL, "Deprecated exception type (const char*)");
|
||||
error(e);
|
||||
}
|
||||
catch (const std::string& e) // obsolete
|
||||
{
|
||||
LOG_ERROR(GENERAL, "Deprecated exception type (std::string)");
|
||||
error(e.c_str());
|
||||
}
|
||||
catch (const fmt::exception& e)
|
||||
|
|
|
|||
|
|
@ -137,8 +137,11 @@ struct waiter_map_t
|
|||
|
||||
check_emu_status(addr);
|
||||
|
||||
// lock the mutex and initialize waiter (only once)
|
||||
if (!lock) lock.lock();
|
||||
if (!lock)
|
||||
{
|
||||
lock.lock();
|
||||
continue;
|
||||
}
|
||||
|
||||
// wait on an appropriate cond var for 1 ms or until a signal arrived
|
||||
cvs[hash].wait_for(lock, std::chrono::milliseconds(1));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue