mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
677d690e2b
Fixes #1708. Currently involuntary preemption causes the current thread not only to yield for a higher prioritized thread, but all other threads of its own priority class, too. This PR adds the function `thread_yield_higher()`, which will yield the current thread in favor of higher prioritized functions, but not for threads of its own priority class. Boards now need to implement `thread_yield_higher()` instead of `thread_yield()`, but `COREIF_NG` boards are not affected in any way. `thread_yield()` retains its old meaning: yield for every thread that has the same or a higher priority. This PR does not touch the occurrences of `thread_yield()` in the periph drivers, because the author of this PR did not look into the logic of the various driver implementations. |
||
---|---|---|
.. | ||
arch | ||
atomic.h | ||
attributes.h | ||
bitarithm.h | ||
byteorder.h | ||
cib.h | ||
clist.h | ||
config.h | ||
crash.h | ||
debug.h | ||
flags.h | ||
hwtimer.h | ||
io.h | ||
irq.h | ||
kernel_internal.h | ||
kernel_macros.h | ||
kernel_types.h | ||
kernel.h | ||
lifo.h | ||
lpm.h | ||
msg.h | ||
mutex.h | ||
priority_queue.h | ||
sched.h | ||
tcb.h | ||
thread.h |