diff options
| author | Grissiom <[email protected]> | 2014-04-16 10:47:30 +0800 |
|---|---|---|
| committer | Grissiom <[email protected]> | 2014-04-16 11:02:36 +0800 |
| commit | 3ea936e80c5a71abfffa2e184da762b1768334f9 (patch) | |
| tree | 248758eb1b58a4583ddedcfe20f8d8525529ffb7 | |
| parent | b2f35dcf3f930087104e2bb36845d50a6931a15d (diff) | |
[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.
| -rw-r--r-- | src/mempool.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mempool.c b/src/mempool.c index c9bcd7a45c..05904bfbc7 100644 --- a/src/mempool.c +++ b/src/mempool.c @@ -356,6 +356,8 @@ void *rt_mp_alloc(rt_mp_t mp, rt_int32_t time) /* get current thread */ thread = rt_thread_self(); + thread->error = RT_EOK; + /* need suspend thread */ rt_thread_suspend(thread); rt_list_insert_after(&(mp->suspend_thread), &(thread->tlist)); |
