zephyr/kernel
Andy Ross 53c859998d kernel: POSIX thread IPC support
Partial implementation of the IEEE 1003.1 pthread API, including
mutexes and condition variables in their default behaviors, and
pthread barrier objects.  The rwlock and spinlocks abstractions are
not supported in this commit (both only make sense in the presence of
multiple SMP processors).

Note that this is the IPC mechanisms only.  The thread creation API
itself is unsupported: Zephyr threads work differently from pthreads
and don't port cleanly in all cases.  Likewise the "_INITIALIZER"
macros from pthreads don't work cleanly here, and _DECLARE macros have
been provided to statically initialize pthread primitives in a manner
more native to Zephyr

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2017-08-15 19:42:07 -04:00
..
include kernel: introduce opaque data type for stacks 2017-08-01 16:43:15 -07:00
Kconfig kernel: POSIX thread IPC support 2017-08-15 19:42:07 -04:00
Kconfig.event_logger kernel: Add thread events to kernel event logger 2017-04-25 02:16:36 +00:00
Kconfig.power_mgmt doc: spelling fixes in Kconfig files 2017-06-12 19:40:51 -04:00
Makefile kernel: POSIX thread IPC support 2017-08-15 19:42:07 -04:00
alert.c kernel: make K_.*_INITIALIZER private to kernel 2017-07-10 11:44:56 -07:00
atomic_c.c
compiler_stack_protect.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
device.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
errno.c kernel: errno: Use per-thread accessor function compatible with Newlib 2017-05-10 20:54:56 -04:00
idle.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
init.c arch: arc: add nested interrupt support 2017-08-10 12:47:15 -04:00
int_latency_bench.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
mailbox.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
mem_slab.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
mempool.c mem_pool: Don't check level_empty() before breaking a block 2017-07-31 09:14:59 -07:00
msg_q.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
mutex.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
pipes.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
poll.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
pthread.c kernel: POSIX thread IPC support 2017-08-15 19:42:07 -04:00
queue.c queue: Use k_poll if enabled 2017-08-15 08:49:09 -04:00
sched.c Scheduler: Same priority Preemptive threads should get equal time slice 2017-08-08 08:51:24 -04:00
sem.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
stack.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
sys_clock.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
system_work_q.c kernel: introduce stack definition macros 2017-06-09 18:53:28 -04:00
thread.c kernel: introduce opaque data type for stacks 2017-08-01 16:43:15 -07:00
thread_abort.c linker: move all linker headers to include/linker 2017-06-18 09:24:04 -05:00
timer.c kernel: make sure that CONFIG_OBJECT_TRACING structs are properly ifdef'ed 2017-05-18 12:41:56 -05:00
version.c Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
work_q.c work_q: Make k_delayed_work_cancel cancel work already pending 2017-08-15 08:49:09 -04:00