sleep_queue_t rewritten, used in sys_cond/sys_mutex

Some synchronization fixes
This commit is contained in:
Nekotekina 2015-07-08 01:33:24 +03:00
parent eafddd9e33
commit c0f13f7084
29 changed files with 350 additions and 427 deletions

View file

@ -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));