Skip to content

Commit

Permalink
doc: posix: mark posix signals supported with undefined behaviour
Browse files Browse the repository at this point in the history
Mark the POSIX_SIGNALS Option Group as supported to the extent
possible under Zephyr, as Zephyr does not yet support processes.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
  • Loading branch information
cfriedt authored and nashif committed Jun 27, 2024
1 parent 308322e commit b10f1ca
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
4 changes: 2 additions & 2 deletions doc/services/portability/posix/aep/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ The *Minimal Realtime System Profile* (PSE51) includes all of the

:ref:`POSIX_C_LANG_JUMP <posix_option_group_c_lang_jump>`, yes,
:ref:`POSIX_C_LANG_SUPPORT <posix_option_group_c_lang_support>`, yes,
:ref:`POSIX_DEVICE_IO <posix_option_group_device_io>`, yes, :kconfig:option:`CONFIG_POSIX_DEVICE_IO`
:ref:`POSIX_SIGNALS <posix_option_group_signals>`,, :kconfig:option:`CONFIG_POSIX_SIGNALS`
:ref:`POSIX_DEVICE_IO <posix_option_group_device_io>`,yes, :kconfig:option:`CONFIG_POSIX_DEVICE_IO`
:ref:`POSIX_SIGNALS <posix_option_group_signals>`, yes, :kconfig:option:`CONFIG_POSIX_SIGNALS` :ref:`†<posix_undefined_behaviour>`
:ref:`POSIX_SINGLE_PROCESS <posix_option_group_single_process>`, yes, :kconfig:option:`CONFIG_POSIX_SINGLE_PROCESS`
:ref:`XSI_THREADS_EXT <posix_option_group_xsi_threads_ext>`, yes, :kconfig:option:`CONFIG_XSI_THREADS_EXT`

Expand Down
28 changes: 18 additions & 10 deletions doc/services/portability/posix/option_groups/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -244,26 +244,34 @@ POSIX_SIGNALS
Signal services are a basic mechanism within POSIX-based systems and are
required for error and event handling.

.. note::
As processes are not yet supported in Zephyr, the ISO C functions ``abort()``, ``signal()``,
and ``raise()``, as well as the other POSIX functions listed below, may exhibit undefined
behaviour. The POSIX functions ``kill()``, ``pause()``, ``sigaction()``, ``sigpending()``,
``sigsuspend()``, and ``sigwait()`` are implemented to ensure that conformant applications can
link, but they are expected to fail, setting errno to ``ENOSYS``
:ref:`†<posix_undefined_behaviour>`.

.. csv-table:: POSIX_SIGNALS
:header: API, Supported
:widths: 50,10

abort(),yes
alarm(),
kill(),
pause(),
raise(),
sigaction(),
abort(),yes :ref:`†<posix_undefined_behaviour>`
alarm(),yes :ref:`†<posix_undefined_behaviour>`
kill(),yes :ref:`†<posix_undefined_behaviour>`
pause(),yes :ref:`†<posix_undefined_behaviour>`
raise(),yes :ref:`†<posix_undefined_behaviour>`
sigaction(),yes :ref:`†<posix_undefined_behaviour>`
sigaddset(),yes
sigdelset(),yes
sigemptyset(),yes
sigfillset(),yes
sigismember(),yes
signal(),
sigpending(),
signal(),yes :ref:`†<posix_undefined_behaviour>`
sigpending(),yes :ref:`†<posix_undefined_behaviour>`
sigprocmask(),yes
sigsuspend(),
sigwait(),
sigsuspend(),yes :ref:`†<posix_undefined_behaviour>`
sigwait(),yes :ref:`†<posix_undefined_behaviour>`
strsignal(),yes

.. _posix_option_group_device_io:
Expand Down

0 comments on commit b10f1ca

Please sign in to comment.