Explorar o código

Merge pull request #3203 from jesven/fix_thread_exit

修正在多核时,运行在另外核上的idle任务有可能会插在rt_thread_exit调用rt_schedule之前释放其资源的问题
Bernard Xiong %!s(int64=5) %!d(string=hai) anos
pai
achega
0548b3af6f
Modificáronse 1 ficheiros con 3 adicións e 3 borrados
  1. 3 3
      src/thread.c

+ 3 - 3
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,