1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

89 Commits

Author SHA1 Message Date
Marian Buschsieweke
4c3e92f183
core: Made thread state an enum
- Introduced enum type `thread_state_t` to replace preprocessor macros
- Moved thread states to `sched.h` for two reasons:
  a) Because of the interdependencies of `sched.h` and `thread.h` keeping it in
     `thread.h` would result in ugly code.
  b) Theses thread states are defined from the schedulers point of view, so it
     actually makes senses to have it defined there
2019-02-13 13:31:52 +01:00
4878cf2119
Merge pull request #10400 from miri64/core/enh/thread_has_queue_func
core: provide function to check msg queue initialization
2018-12-19 18:41:39 +01:00
Martine Lenders
7835db5ec3 core: provide function to check msg queue initialization
This makes it easier to refactor that part of the `thread_t` structure
later on.
2018-12-19 15:39:50 +01:00
Sebastian Meiling
43d39b7a33
Merge pull request #8333 from samkumar/feature-condition-variable
core: condition variable implementation
2018-11-30 21:15:53 +01:00
Sam Kumar
fb8edbb610 core: condition variable implementation 2018-11-30 11:22:07 -08:00
Gunar Schorcht
e75e0a5fe6 core: architecture dependent part in thread_t 2018-07-05 09:22:59 +02:00
Gunar Schorcht
c71f40370b core: add architecture dependent extension 2018-07-05 09:22:59 +02:00
2b1ed99a49 core: add more stacksize defines 2018-06-14 23:29:03 +02:00
bd2845adf6 core: fix doxygen grouping 2018-06-11 19:12:02 +02:00
e6a9a760a7 core/thread: add thread_getname() dummy available without DEVELHELP 2018-01-15 14:37:04 +01:00
Martine Lenders
4952ffbae7
Merge pull request #6698 from Lotterleben/doc_thread_h
thread.h: extend doc for msg_waiters and msg_array
2017-11-16 19:25:52 +01:00
Lotte Steenbrink
9cc3641b75 thread.h: extend doc for msg_waiters and msg_array 2017-11-16 10:15:46 -08:00
32c10ae2c9 core, cpu: rename thread_start_threading() -> cpu_switch_context_exit() 2017-11-16 14:40:16 +01:00
bb4a5c5cdf core: remove COREIF_NG 2017-11-16 14:39:54 +01:00
Joakim Nohlgård
87d322556a core/thread: fix Doxygen nesting
Everything below the thread states was cut off in the module
documentation because Doxygen does not handle nested @name tags.
2017-08-11 07:47:09 +02:00
Raul Fuentes
f21d497be4 tread.h: Minor examples compile 2017-05-30 20:48:57 +02:00
smlng
4ffbbfb8f6 doc: correct naming of doxygen group in core 2017-04-10 16:11:49 +02:00
Oleg Hahm
4e068bc1a4 doc: core: fix formatting 2017-01-16 18:04:04 +01:00
Ian Martin
28a7ddc9a8 core: save the stack_start in the thread context for mpu_stack_guard 2016-10-24 12:36:15 -04:00
Lotte Steenbrink
8bd0bd17f3 thread.h: rearrange docs, add small tutorial 2016-10-16 12:46:54 -07:00
Martine Lenders
e16bbda5f6 Merge pull request #5629 from kaspar030/improve_clist
core: improve clist
2016-07-18 19:36:16 +02:00
3a6f95008d core: mbox: introduce thread decoupled message queues 2016-07-18 16:56:41 +02:00
ec897a868c core, gnrc_netreg: remove redundant or unneeded clist.h include 2016-07-18 13:17:31 +02:00
Oleg Hahm
1319c5e874 doc: add a hint to cpu_conf.h 2016-05-18 12:48:35 +02:00
Oleg Hahm
435685cf4a doc: add missing information about thread_create 2016-04-21 14:38:13 +02:00
Oleg Hahm
06e5c13b3d core: doc: do not exclude CPU specific values
This patch ensures that doxygen will add the CPU dependent defines for stack sizes.
2016-04-20 18:46:14 +02:00
Martine Lenders
85dfed3249 Merge pull request #5283 from kaspar030/make_msg_use_list
core: msg: use new list instead of priority_queue
2016-04-17 14:48:50 +02:00
Oleg Hahm
57e9a25e2b doc: a note about creating threads w/ same prio 2016-04-11 12:11:48 +02:00
dc8f55df7e core: msg: use new list instead of priority_queue 2016-04-10 00:16:48 +02:00
58a12e5034 core: make messaging optional 2016-03-30 23:27:09 +02:00
abff2e3fb7 core: introduce thread flags 2016-03-30 10:38:53 +02:00
f9f6adb48d core: clist: make singly linked 2016-03-30 00:27:49 +02:00
7c39134d5d core: introduce intrusive singly linked list 2016-03-29 21:50:17 +02:00
2b010b5337 core: rename tcb_t -> thread_t, move into thread.h 2016-03-05 18:20:17 +01:00
9082273746 core: header cleanup 2016-02-28 22:46:28 +01:00
Martine Lenders
febcac6d43 core: add capability to output message queue 2016-01-23 15:33:48 +01:00
Hauke Petersen
7dcb40b46a core/thread.h: renamed thread creation flags 2015-12-07 22:09:46 +01:00
Hauke Petersen
7f5ab0cd5f core: moved flags.h to thread.h 2015-12-07 22:09:46 +01:00
Joakim Gebart
13832d8e62 everything: Remove filename from @file Doxygen command 2015-05-22 07:34:41 +02:00
Lucas Jenss
426170b064 Improve naming of thread stacksize/priority constants
As discussed in #2725, this commit renames a number of stacksize constants to
better convey their intended usage. In addition, constants for thread priority
are given a `THREAD_` prefix. Changes are:

* KERNEL_CONF_STACKSIZE_PRINTF renamed to THREAD_EXTRA_STACKSIZE_PRINTF
* KERNEL_CONF_STACKSIZE_DEFAULT renamed to THREAD_STACKSIZE_DEFAULT
* KERNEL_CONF_STACKSIZE_IDLE renamed to THREAD_STACKSIZE_IDLE
* KERNEL_CONF_STACKSIZE_MAIN renamed to THREAD_STACKSIZE_MAIN
* Move thread stacksizes from kernel.h to thread.h, since the prefix changed
* PRIORITY_MIN renamed to THREAD_PRIORITY_MIN
* PRIORITY_IDLE renamed to THREAD_PRIORITY_IDLE
* PRIORITY_MAIN renamed to THREAD_PRIORITY_MAIN
* Move thread priorities from kernel.h to thread.h since the prefix has changed
* MINIMUM_STACK_SIZE renamed to THREAD_STACKSIZE_MINIMUM for consistency
2015-05-21 00:14:23 +02:00
altairpearl
a409191b71 core: Updated include guards to remove leading underscores 2015-03-30 06:10:58 +05:30
kushalsingh007
3b7e54b441 Core: Change in description of thread_create function.
- Fixes #2136
- Adds warning about creating threads from within an ISR.
2015-03-13 19:55:08 +05:30
Martine Lenders
ffe9678bd1 core: expand documentation of thread_create()
Adds specific documentation for the error return values of
thread_create().
2015-02-13 21:34:33 +01:00
Oleg Hahm
d92e9af91c doc: fixed broken param descriptions 2014-11-30 22:34:50 +01:00
feb550f17a Merge pull request #1885 from OlegHahm/thread_yield_higher_cleanup
core: thread_yield_higher cleanup
2014-10-30 23:22:27 +01:00
Oleg Hahm
9a61d8cf1c core: move optional tcb members to DEVELHELP 2014-10-30 16:37:10 +01:00
Oleg Hahm
93ac114bc3 core: move thread_yield*() to thread.[ch]
Although it might conceptionally rather belong to the scheduler, the
yield functions are prefixed with thread_ and thus, belong there.
2014-10-28 00:56:37 +01:00
Oleg Hahm
c33e1b5dad Merge pull request #1844 from OlegHahm/doxygen_cleanup
Doxygen cleanup
2014-10-24 16:04:01 +02:00
Oleg Hahm
9b819c4dd6 Merge pull request #1836 from Kijewski/yield-less
core: introduce sched_yield(), yield less
2014-10-24 10:05:37 +02:00
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