diff options
Diffstat (limited to 'components')
| -rw-r--r-- | components/dfs/filesystems/jffs2/src/gcthread.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/components/dfs/filesystems/jffs2/src/gcthread.c b/components/dfs/filesystems/jffs2/src/gcthread.c index 3807e705b1..0aad0ae3ae 100644 --- a/components/dfs/filesystems/jffs2/src/gcthread.c +++ b/components/dfs/filesystems/jffs2/src/gcthread.c @@ -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; |
