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. |
||
---|---|---|
.. | ||
include | ||
Makefile | ||
Makefile.include | ||
nop_nop_nop.inc | ||
x86_atomic.c | ||
x86_cmos.c | ||
x86_glue.c | ||
x86_hwtimer.c | ||
x86_interrupts.c | ||
x86_memory.c | ||
x86_pci_init.c | ||
x86_pci_strings.c | ||
x86_pci.c | ||
x86_pic.c | ||
x86_pit.c | ||
x86_reboot.c | ||
x86_rtc.c | ||
x86_startup.c | ||
x86_threading.c | ||
x86_uart.c | ||
x86_ucontext.c | ||
x86_videoram.c |