doc: posix: mark posix signals supported with undefined behaviour

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>
This commit is contained in:
Chris Friedt 2024-06-17 13:04:20 -04:00 committed by Chris Friedt
commit db44b1306f
2 changed files with 19 additions and 14 deletions

View file

@ -51,7 +51,7 @@ 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>`,, :kconfig:option:`CONFIG_POSIX_DEVICE_IO`
:ref:`POSIX_SIGNALS <posix_option_group_signals>`,, :kconfig:option:`CONFIG_POSIX_SIGNALS`
: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`

View file

@ -450,31 +450,36 @@ POSIX_SIGNAL_JUMP
POSIX_SIGNALS
+++++++++++++
Signal services are a basic mechanism within POSIX-based systems and are
required for error and event handling.
Enable this option group with :kconfig:option:`CONFIG_POSIX_SIGNALS`.
.. 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_single_process: