summaryrefslogtreecommitdiff
path: root/src/thread.c
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2019-11-16 10:04:56 +0800
committerGitHub <[email protected]>2019-11-16 10:04:56 +0800
commit0548b3af6fd1777eaeda9ee930cf636d4c0ce535 (patch)
tree23e5bc572212b3ba7121d75fe87898560f5e18f0 /src/thread.c
parent69e8c0324e77d7c30634d2a74264fd4fc171ec24 (diff)
parent88b552276b1b64750f3db460b36f8e329f1c18c4 (diff)
Merge pull request #3203 from jesven/fix_thread_exit
修正在多核时,运行在另外核上的idle任务有可能会插在rt_thread_exit调用rt_schedule之前释放其资源的问题
Diffstat (limited to 'src/thread.c')
-rw-r--r--src/thread.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/thread.c b/src/thread.c
index bee5f0c2c0..c5f75a1176 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -107,11 +107,11 @@ void rt_thread_exit(void)
rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
}
- /* enable interrupt */
- rt_hw_interrupt_enable(level);
-
/* switch to next task */
rt_schedule();
+
+ /* enable interrupt */
+ rt_hw_interrupt_enable(level);
}
static rt_err_t _rt_thread_init(struct rt_thread *thread,