소스 검색

🐞 fix(cpu): cpus_lock should lock scheduler (#8368)

xqyjlj 1 년 전
부모
커밋
84706ba7b4
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      src/cpu.c

+ 2 - 1
src/cpu.c

@@ -162,7 +162,7 @@ rt_base_t rt_cpus_lock(void)
     struct rt_cpu* pcpu;
 
     level = rt_hw_local_irq_disable();
-
+    rt_enter_critical();
     pcpu = rt_cpu_self();
     if (pcpu->current_thread != RT_NULL)
     {
@@ -207,6 +207,7 @@ void rt_cpus_unlock(rt_base_t level)
         }
     }
     rt_hw_local_irq_enable(level);
+    rt_exit_critical();
 }
 RTM_EXPORT(rt_cpus_unlock);