We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent fe08f19 commit 1be8f61Copy full SHA for 1be8f61
src/Arduino_Threads.cpp
@@ -118,8 +118,17 @@ void Arduino_Threads::threadFunc()
118
}
119
120
121
- /* Sleep for the time we've been asked to insert between loops.
122
- */
123
- rtos::ThisThread::sleep_for(rtos::Kernel::Clock::duration_u32(_loop_delay_ms));
+ if (_loop_delay_ms) {
+ /* Sleep for the time we've been asked to insert between loops.
+ */
124
+ rtos::ThisThread::sleep_for(rtos::Kernel::Clock::duration_u32(_loop_delay_ms));
125
+ }
126
+ else
127
+ {
128
+ /* In any case yield here so that other threads can also be
129
+ * executed following the round-robin scheduling paradigm.
130
131
+ rtos::ThisThread::yield();
132
133
134
0 commit comments