modify the error check of rt_event_recv()

This commit is contained in:
Han Xinrong 2020-12-13 19:11:04 +08:00
parent 3bb8edf4c1
commit a1fe7b1ddf
2 changed files with 21 additions and 3 deletions

View File

@ -603,7 +603,13 @@ static void _stack_thread(void *parameter)
result = rt_event_recv(stack_event, STACK_EV_DISCON | STACK_EV_DISPATCH | STACK_EV_KEY,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, next_timeout, &event);
RT_ASSERT(result == RT_EOK);
if (result == -RT_ETIMEOUT) {
LOG_E("wait completed timeout");
continue;
}else if (result == -RT_ERROR) {
LOG_E("event received error");
continue;
}
if (evt_dispatch_worker() != RT_EOK)
{

View File

@ -203,7 +203,13 @@ jffs2_stop_garbage_collect_thread(struct jffs2_sb_info *c)
GC_THREAD_FLAG_HAS_EXIT,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
RT_WAITING_FOREVER, &e);
RT_ASSERT(result == RT_EOK);
if (result == -RT_ETIMEOUT) {
LOG_E("wait completed timeout");
return;
}else if (result == -RT_ERROR) {
LOG_E("event received error");
return;
}
// Kill and free the resources ... this is safe due to the flag
// from the thread.
@ -230,7 +236,13 @@ jffs2_garbage_collect_thread(unsigned long data)
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR,
cyg_current_time() + CYGNUM_JFFS2_GS_THREAD_TICKS,
&flag);
RT_ASSERT(result == RT_EOK);
if (result == -RT_ETIMEOUT) {
LOG_E("wait completed timeout");
continue;
}else if (result == -RT_ERROR) {
LOG_E("event received error");
continue;
}
if (flag & GC_THREAD_FLAG_STOP)
break;