[mempool] reset the thread->error before suspending thread

Time out result and other errors is recorded in thread->error. Dirty
error will screw up the error handling code after the thread has been
wake up.
This commit is contained in:
Grissiom 2014-04-16 10:47:30 +08:00
parent 3b6198275b
commit a78e42a7c8
1 changed files with 2 additions and 0 deletions

View File

@ -356,6 +356,8 @@ void *rt_mp_alloc(rt_mp_t mp, rt_int32_t time)
/* get current thread */ /* get current thread */
thread = rt_thread_self(); thread = rt_thread_self();
thread->error = RT_EOK;
/* need suspend thread */ /* need suspend thread */
rt_thread_suspend(thread); rt_thread_suspend(thread);
rt_list_insert_after(&(mp->suspend_thread), &(thread->tlist)); rt_list_insert_after(&(mp->suspend_thread), &(thread->tlist));