zephyr/arch
Tobias Svehagen ca872a44c1 lib: posix: Add support for eventfd
This implements a file descriptor used for event notification that
behaves like the eventfd in Linux.

The eventfd supports nonblocking operation by setting the EFD_NONBLOCK
flag and semaphore operation by settings the EFD_SEMAPHORE flag.

The major use case for this is when using poll() and the sockets that
you poll are dynamic. When a new socket needs to be added to the poll,
there must be some way to wake the thread and update the pollfds before
calling poll again. One way to solve it is to have a timeout set in the
poll call and only update the pollfds during a timeout but that is not
a very nice solution. By instead including an eventfd in the pollfds,
it is possible to wake the polling thread by simply writing to the
eventfd.

Signed-off-by: Tobias Svehagen <tobias.svehagen@gmail.com>
2020-04-28 09:57:41 +03:00
..
arc kconfig: Rename CONFIG_FLOAT to CONFIG_FPU 2020-04-27 19:03:44 +02:00
arm kconfig: Rename CONFIG_FLOAT to CONFIG_FPU 2020-04-27 19:03:44 +02:00
common gen_isr_tables: error improvements 2020-04-17 18:28:47 +02:00
nios2 kernel: add Z_STACK_PTR_ALIGN ARCH_STACK_PTR_ALIGN 2020-04-21 18:45:45 -04:00
posix lib: posix: Add support for eventfd 2020-04-28 09:57:41 +03:00
riscv kconfig: Rename CONFIG_FLOAT to CONFIG_FPU 2020-04-27 19:03:44 +02:00
x86 kconfig: Rename CONFIG_FLOAT to CONFIG_FPU 2020-04-27 19:03:44 +02:00
xtensa kernel: add Z_STACK_PTR_ALIGN ARCH_STACK_PTR_ALIGN 2020-04-21 18:45:45 -04:00
CMakeLists.txt
Kconfig kconfig: Improve architecture floating point symbol descriptions 2020-04-27 19:03:44 +02:00