|
@@ -162,7 +162,7 @@ rt_base_t rt_cpus_lock(void)
|
|
struct rt_cpu* pcpu;
|
|
struct rt_cpu* pcpu;
|
|
|
|
|
|
level = rt_hw_local_irq_disable();
|
|
level = rt_hw_local_irq_disable();
|
|
-
|
|
|
|
|
|
+ rt_enter_critical();
|
|
pcpu = rt_cpu_self();
|
|
pcpu = rt_cpu_self();
|
|
if (pcpu->current_thread != RT_NULL)
|
|
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_hw_local_irq_enable(level);
|
|
|
|
+ rt_exit_critical();
|
|
}
|
|
}
|
|
RTM_EXPORT(rt_cpus_unlock);
|
|
RTM_EXPORT(rt_cpus_unlock);
|
|
|
|
|