summaryrefslogtreecommitdiff
path: root/src/thread.c
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2018-03-01 14:08:53 +0800
committerGitHub <[email protected]>2018-03-01 14:08:53 +0800
commit44def114fb05bfff3556f70186cc4a74400dc217 (patch)
tree2b7acaf70ec61499d4266d74a8c0551a85260111 /src/thread.c
parentef668bc3aa99992208ba6808fe430e5d00849b2f (diff)
parent38b9ed3118f7df9fd683b9d3bd4425ab604ee2bc (diff)
Merge pull request #1241 from BernardXiong/feature_signal
[Kernel] add sigwait implementation
Diffstat (limited to 'src/thread.c')
-rw-r--r--src/thread.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/thread.c b/src/thread.c
index 3a3e55302e..ea0ba0bfc9 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -638,7 +638,7 @@ rt_err_t rt_thread_suspend(rt_thread_t thread)
if ((thread->stat & RT_THREAD_STAT_MASK) != RT_THREAD_READY)
{
- RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread suspend: thread disorder, %d\n",
+ RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread suspend: thread disorder, 0x%2x\n",
thread->stat));
return -RT_ERROR;
@@ -648,7 +648,7 @@ rt_err_t rt_thread_suspend(rt_thread_t thread)
temp = rt_hw_interrupt_disable();
/* change thread stat */
- thread->stat = RT_THREAD_SUSPEND;
+ thread->stat = RT_THREAD_SUSPEND | (thread->stat & ~RT_THREAD_STAT_MASK);
rt_schedule_remove_thread(thread);
/* stop thread timer anyway */