summaryrefslogtreecommitdiff
path: root/include/rtthread.h
diff options
context:
space:
mode:
authorShell <[email protected]>2023-10-26 13:56:27 +0800
committerGitHub <[email protected]>2023-10-26 13:56:27 +0800
commiteafb04e01126a4da572ec5551427adeb08dcb2bb (patch)
tree782c636b7224053468d82748779e1c9ff44157e7 /include/rtthread.h
parent01672f8627e3b341e7eb30adef42660bce25b1c3 (diff)
[ctime] fixup of data racing (#8187)
Signed-off-by: Shell <[email protected]>
Diffstat (limited to 'include/rtthread.h')
-rw-r--r--include/rtthread.h12
1 files changed, 6 insertions, 6 deletions
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 */
/**@}*/