1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/sys/posix
René Kijewski 677d690e2b core: introduce thread_yield_higher(), yield less
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.
2014-10-24 00:09:56 +02:00
..
include native/freebsd: fix usecond typdef 2014-10-08 16:11:15 +02:00
pnet transport_layer: Splitting UDP and TCP 2014-09-11 20:07:46 +02:00
pthread fix license headers in non-.c files 2014-08-23 16:16:26 +02:00
doc.txt fix license headers in non-.c files 2014-08-23 16:16:26 +02:00
fd.c posix: configure stdio only to uart0 if enabled 2014-10-07 12:14:14 +02:00
Makefile make: detect their module name automatically 2014-06-17 15:49:32 +02:00
posix_io.c changed parameters form kernel_pid_t to int 2014-08-11 13:10:12 +02:00
semaphore.c core: introduce thread_yield_higher(), yield less 2014-10-24 00:09:56 +02:00
strings.c doc: use lgplv2.1-short license header instead of lgpl-short-riot 2014-07-31 22:57:20 +02:00
unistd.c doc: use lgplv2.1-short license header instead of lgpl-short-riot 2014-07-31 22:57:20 +02:00