1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/core/include
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
..
arch core: introduce thread_yield_higher(), yield less 2014-10-24 00:09:56 +02:00
atomic.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
attributes.h core: align stack on a 32bit boundary 2014-10-17 18:22:37 +02:00
bitarithm.h c++: core: add extern C in header files 2014-10-09 06:18:16 +07:00
byteorder.h Merge pull request #1805 from BytesGalore/extern_C_in_headers_core_unguard_includes 2014-10-22 07:09:57 +07:00
cib.h c++: core: add extern C in header files 2014-10-09 06:18:16 +07:00
clist.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
config.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
crash.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
debug.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
flags.h c++: core: add extern C in header files 2014-10-09 06:18:16 +07:00
hwtimer.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
io.h c++: core: add extern C in header files 2014-10-09 06:18:16 +07:00
irq.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
kernel_internal.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
kernel_macros.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
kernel_types.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
kernel.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
lifo.h c++: core: add extern C in header files 2014-10-09 06:18:16 +07:00
lpm.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
msg.h core: msg: introduce msg_try_send 2014-10-22 12:37:33 +02:00
mutex.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
priority_queue.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
sched.h core: introduce thread_yield_higher(), yield less 2014-10-24 00:09:56 +02:00
tcb.h core: moved #includes outside the extern "C" guards 2014-10-21 13:46:04 +02:00
thread.h core: introduce thread_yield_higher(), yield less 2014-10-24 00:09:56 +02:00