From eafb04e01126a4da572ec5551427adeb08dcb2bb Mon Sep 17 00:00:00 2001 From: Shell Date: Thu, 26 Oct 2023 13:56:27 +0800 Subject: [ctime] fixup of data racing (#8187) Signed-off-by: Shell --- include/rtthread.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/rtthread.h b/include/rtthread.h index 47d03119eb..0e9502d469 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -544,8 +544,8 @@ rt_thread_t rt_thread_defunct_dequeue(void); /* * spinlock */ -#ifdef RT_USING_SMP struct rt_spinlock; +#ifdef RT_USING_SMP void rt_spin_lock_init(struct rt_spinlock *lock); void rt_spin_lock(struct rt_spinlock *lock); @@ -553,11 +553,11 @@ void rt_spin_unlock(struct rt_spinlock *lock); rt_base_t rt_spin_lock_irqsave(struct rt_spinlock *lock); void rt_spin_unlock_irqrestore(struct rt_spinlock *lock, rt_base_t level); #else -#define rt_spin_lock_init(lock) { RT_UNUSED(lock); } -#define rt_spin_lock(lock) { RT_UNUSED(lock); } -#define rt_spin_unlock(lock) { RT_UNUSED(lock); } -#define rt_spin_lock_irqsave(lock) ({ RT_UNUSED(lock); rt_hw_interrupt_disable(); }) -#define rt_spin_unlock_irqrestore(lock, level) { RT_UNUSED(lock); rt_hw_interrupt_enable(level); } +#define rt_spin_lock_init(lock) do {RT_UNUSED(lock);} while (0) +#define rt_spin_lock(lock) do {RT_UNUSED(lock);} while (0) +#define rt_spin_unlock(lock) do {RT_UNUSED(lock);} while (0) +rt_inline rt_base_t rt_spin_lock_irqsave(struct rt_spinlock *lock) {RT_UNUSED(lock);return rt_hw_interrupt_disable();} +#define rt_spin_unlock_irqrestore(lock, level) do {RT_UNUSED(lock); rt_hw_interrupt_enable(level);} while (0) #endif /* RT_USING_SMP */ /**@}*/ -- cgit v1.3.1