diff options
| author | shaojinchun <[email protected]> | 2019-11-15 10:45:12 +0800 |
|---|---|---|
| committer | shaojinchun <[email protected]> | 2019-11-15 10:45:12 +0800 |
| commit | 88b552276b1b64750f3db460b36f8e329f1c18c4 (patch) | |
| tree | df7869b36d2c9a8181b1b526149ba2fade782307 /src/thread.c | |
| parent | cdaf8c65cabd0120e6d19453cfffe905e9b6a769 (diff) | |
修正在多核时,运行在另外核上的idle任务有可能会插在rt_thread_exit调用rt_schedule之前释放其资源的问题
Diffstat (limited to 'src/thread.c')
| -rw-r--r-- | src/thread.c | 6 |
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, |
