diff --git a/include/rtthread.h b/include/rtthread.h index 55f57a2118..2329824112 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -632,11 +632,13 @@ rt_inline rt_base_t rt_spin_lock_irqsave(struct rt_spinlock *lock) rt_base_t level; RT_UNUSED(lock); level = rt_hw_interrupt_disable(); + rt_enter_critical(); return level; } rt_inline void rt_spin_unlock_irqrestore(struct rt_spinlock *lock, rt_base_t level) { RT_UNUSED(lock); + rt_exit_critical(); rt_hw_interrupt_enable(level); }