contiki/core/sys
Benoît Thébaudeau 81805129f8 mt: Fix preemption
Preemption was supposed to be supported, but it had no means of safely
updating the state of a thread, so mt_exec() could fail to resume a
preempted thread.

mt_exec() is allowed to be called only from the main Contiki thread, so
the mt threads passed to it may be only ready or exited, not running.
Consequently, there is no need for a distinction between the ready and
running states, so merge them as a started state, which avoids having to
update the state of a thread upon preemption.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-11-24 22:30:26 +01:00
..
arg.c
arg.h
autostart.c
autostart.h
cc-gcc.h
cc.h
clock.h
compower.c
compower.h
ctimer.c
ctimer.h
dsc.h
energest.c
energest.h
etimer.c
etimer.h
lc-addrlabels.h
lc-switch.h
lc.h Correct several doxygen tags (\file) 2014-07-28 11:11:45 +02:00
loader.h
log.h
mt.c mt: Fix preemption 2016-11-24 22:30:26 +01:00
mt.h mt: Fix preemption 2016-11-24 22:30:26 +01:00
node-id.h
process.c
process.h
procinit.c
procinit.h
pt-sem.h
pt.h
rtimer.c
rtimer.h
stimer.c
stimer.h
subprocess.h
timer.c
timer.h