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 [doc] Give files a common structure by placing license first (partial) 2014-11-10 23:54:49 +01:00
arg.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
autostart.c Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00
autostart.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
cc-gcc.h Defining gcc specific macros in seperate header 2015-09-22 14:17:10 -06:00
cc.h Merge pull request #1133 from bkozak-scanimetrics/cc-gcc 2015-12-05 00:39:59 +01:00
clock.h Fix some unresolved references 2015-02-15 20:11:10 +01:00
compower.c [doc] Give files a common structure by placing license first (partial) 2014-11-10 23:54:49 +01:00
compower.h [doc] Give files a common structure by placing license first (partial) 2014-11-10 23:54:49 +01:00
ctimer.c CTIMER API extension to explictly state the process a ctimer belongs to 2015-08-31 10:31:36 +02:00
ctimer.h CTIMER API extension to explictly state the process a ctimer belongs to 2015-08-31 10:31:36 +02:00
dsc.h Fix warnings caused by incorrect param names / undocumented params 2015-02-15 20:11:08 +01:00
energest.c Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00
energest.h Introduce ENERGEST_SWITCH macro. It allows to switch between energest modes without running into the risk of losing a tick in the process 2015-09-04 11:49:02 +02:00
etimer.c Add function etimer_reset_set. 2015-08-25 17:03:44 +02:00
etimer.h Add function etimer_reset_set. 2015-08-25 17:03:44 +02:00
lc-addrlabels.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
lc-switch.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
lc.h Correct several doxygen tags (\file) 2014-07-28 11:11:45 +02:00
loader.h [doc] Give files a common structure by placing license first (partial) 2014-11-10 23:54:49 +01:00
log.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
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 A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
process.c Removed some unnecessary statics in do_event() and process_post(). 2016-04-13 18:12:47 +02:00
process.h Fix warnings caused by incorrect param names / undocumented params 2015-02-15 20:11:08 +01:00
procinit.c Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00
procinit.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
pt-sem.h Make protothread semaphores interrupt-safe. 2014-06-11 18:44:59 -04:00
pt.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
rtimer.c [doc] Give files a common structure by placing license first (partial) 2014-11-10 23:54:49 +01:00
rtimer.h TSCH: use RTIMER_CLOCK_DIFF to compute estimated drift, fixing a bug that would occur on 16-bit rtimer platforms 2016-04-27 14:13:33 +02:00
stimer.c [doc] Give files a common structure by placing license first (partial) 2014-11-10 23:54:49 +01:00
stimer.h [doc] Give files a common structure by placing license first (partial) 2014-11-10 23:54:49 +01:00
subprocess.h Closing doxygen groups 2014-05-30 11:01:20 +02:00
timer.c Merge pull request #767 from ejoerns/pull-req/timer-note 2015-03-29 00:46:30 +00:00
timer.h [doc] Give files a common structure by placing license first (partial) 2014-11-10 23:54:49 +01:00