Go to file
Benjamin Walsh acc68c1e59 kernel: add k_poll() API
k_poll() is similar to the POSIX poll() API in spirit in that it allows
a single thread to monitor multiple events without actively polling
them, but rather pending for one or more to become ready. Such events
can be a direct event, or kernel objects (currently only semaphores and
fifos).

When a kernel object being polled on is ready, it is not "given" to the
poller: the poller must then acquire it via the regular API for the
object (e.g. k_sem_take()). Only one thread can poll on a particular
object at one time. These restrictions mean that k_poll() is most
effective when a single thread monitors multiple events that are not
subject for contention. For example, being the sole reader on multiple
fifos, or the only thread being signalled by multiple semaphores, or a
combination of both.

Change-Id: I7035a9baf4aa016fb87afc5f5c0f5f8cb216480f
Signed-off-by: Benjamin Walsh <walsh.benj@gmail.com>
2017-02-02 00:30:00 +00:00
.known-issues kernel: doc: Add deprecation notice to legacy.h 2017-01-16 18:13:03 -05:00
arch drivers: Add Atmel SAM family GMAC Ethernet driver 2017-02-01 21:01:19 +00:00
boards doc: use hlist directive for improved output 2017-02-02 00:25:35 +00:00
doc doc: add CSS support for hlist directive 2017-02-02 00:25:26 +00:00
drivers drivers: Add Atmel SAM family GMAC Ethernet driver 2017-02-01 21:01:19 +00:00
ext ext: Import Atmel SAM3X header files from ASF library 2017-02-01 21:01:14 +00:00
include kernel: add k_poll() API 2017-02-02 00:30:00 +00:00
kernel kernel: add k_poll() API 2017-02-02 00:30:00 +00:00
lib libc/minimal: Fix definition of ssize_t 2017-02-01 13:57:43 -08:00
misc misc/printk: Add a function to get the current hook function. 2017-01-27 12:35:52 +02:00
samples samples: net: echo_server .conf for Atmel SMART SAM E70 Xplained board 2017-02-01 21:01:20 +00:00
scripts toolchain: define DTC for zephyr SDK 2017-01-30 21:45:05 +00:00
subsys fat: match type info expected by fat library for f_write 2017-01-30 12:01:50 +00:00
tests libc/minimal: Fix definition of ssize_t 2017-02-01 13:57:43 -08:00
.checkpatch.conf checkpatch: ignore CONST_STRUCT warnings 2016-11-11 22:12:22 +00:00
.gitattributes First commit 2015-04-10 16:44:37 -07:00
.gitignore doc: move context back to doc/, fix broken links 2017-01-16 18:05:06 -05:00
.gitreview Add a .gitreview file 2016-02-20 14:25:01 +00:00
.mailmap mailmap: added axy (for Anas Nashif) 2016-12-21 13:49:59 +00:00
defaults.tc testcases: catch more fatal kernel error messages 2016-11-11 13:21:16 +00:00
Kbuild build: Use ZEPHYRINCLUDE when building offsets.o 2017-01-25 12:20:21 +00:00
Kconfig license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig.zephyr license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
LICENSE add top level Apache 2.0 license file 2016-02-05 20:24:37 -05:00
MAINTAINERS MAINTAINERS: Remove Jon Medhurst from MPS2 maintainership 2017-01-30 11:02:36 -06:00
Makefile build: add _ASMLANGUAGE to all asm files 2017-01-24 13:34:51 +00:00
Makefile.inc build: abstract emulation and replace qemu goal with run 2017-01-10 20:20:47 +00:00
Makefile.test tests: introduce Makefile.test 2017-01-03 17:48:44 +00:00
zephyr-env.sh license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00