From e01d425bf3fc423f837ac4b00fb3d90050fe7490 Mon Sep 17 00:00:00 2001 From: "qiuyiuestc@gmail.com" Date: Tue, 1 May 2012 17:52:48 +0000 Subject: [PATCH] add "thread->error = RT_EOK;" in rt_completion_wait git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2107 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- components/drivers/src/completion.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/drivers/src/completion.c b/components/drivers/src/completion.c index a2f9a3058..220fc04a8 100644 --- a/components/drivers/src/completion.c +++ b/components/drivers/src/completion.c @@ -42,6 +42,9 @@ rt_err_t rt_completion_wait(struct rt_completion* completion, rt_int32_t timeout } else { + /* reset thread error number */ + thread->error = RT_EOK; + /* suspend thread */ rt_thread_suspend(thread); /* add to suspended list */ @@ -92,7 +95,7 @@ void rt_completion_done(struct rt_completion* completion) /* get thread entry */ thread = rt_list_entry(completion->suspended_list.next, struct rt_thread, tlist); - + /* resume it */ rt_thread_resume(thread); rt_hw_interrupt_enable(level);