zephyr/kernel
Andy Ross 4c7b77a716 kernel/timeout: Add absolute timeout APIs
Add support for "absolute" timeouts, which are expressed relative to
system uptime instead of deltas from current time.  These allow for
more race-resistant code to be written by allowing application code to
do a single timeout computation, once, and then reuse the timeout
value even if the thread wakes up and needs to suspend again later.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-03-31 19:40:47 -04:00
..
include kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
atomic_c.c kernel: add APIs for atomic os on pointers 2020-03-10 10:18:16 -04:00
CMakeLists.txt cmake: Add target for generating header files 2020-01-29 11:44:57 -06:00
compiler_stack_protect.c kernel: Fix gcc-9.2 warning with _StackCheckHandler 2019-10-04 05:22:30 -07:00
device.c kernel: add sys init level for SMP 2020-03-25 19:07:28 -04:00
errno.c headers: Refactor kernel and arch headers. 2019-11-06 16:07:32 -08:00
fatal.c kernel: fatal: fix indentation in z_fatal_error 2020-03-11 10:26:36 +02:00
futex.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
idle.c kernel: rename z_arch_ to arch_ 2019-11-07 15:21:46 -08:00
init.c kernel: add sys init level for SMP 2020-03-25 19:07:28 -04:00
Kconfig kernel/timeout: Add absolute timeout APIs 2020-03-31 19:40:47 -04:00
Kconfig.power_mgmt kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
mailbox.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
mem_domain.c kernel: fix k_mem_partition data types 2019-12-12 14:48:42 -08:00
mem_slab.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
mempool.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
msg_q.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
mutex.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
pipes.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
poll.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
queue.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
sched.c kernel/timeout: Enable 64 bit timeout precision 2020-03-31 19:40:47 -04:00
sem.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
smp.c kernel: interrupt/idle stacks/threads as array 2020-03-16 23:17:36 +02:00
stack.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
system_work_q.c kernel: system_work_q: Set dedicated "sysworkq" name. 2018-10-19 07:58:45 -04:00
thread_abort.c kernel: use z_swap_unlocked in k_thread_abort 2020-03-12 10:57:02 -04:00
thread.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
timeout.c kernel/timeout: Add absolute timeout APIs 2020-03-31 19:40:47 -04:00
timer.c kernel/timeout: Add absolute timeout APIs 2020-03-31 19:40:47 -04:00
userspace_handler.c kernel: rename struct _k_object 2020-03-17 20:11:27 +02:00
userspace.c kernel: delete separate logic for priv stacks 2020-03-17 20:11:27 +02:00
version.c doc: add kernel version API to doxygen 2018-12-08 17:24:53 -05:00
work_q.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00