BugFix of Issue #35, #38

Signed-off-by: tomoaki <tomoaki@tomy-tech.com>
This commit is contained in:
tomoaki
2016-10-26 09:24:48 +09:00
parent 19c4d8208e
commit c3e8470812
3 changed files with 14 additions and 11 deletions

View File

@@ -314,15 +314,19 @@ void EventQue::setMaxSize(uint16_t maxSize)
Event* EventQue::wait(void)
{
Event* ev;
if ( _que.size() == 0 )
Event* ev = 0;
while(ev == 0)
{
_sem.wait();
if ( _que.size() == 0 )
{
_sem.wait();
}
_mutex.lock();
ev = _que.front();
_que.pop();
_mutex.unlock();
}
_mutex.lock();
ev = _que.front();
_que.pop();
_mutex.unlock();
return ev;
}