From b10f1ca3a6faf58db10a57f2138802b2d7157f12 Mon Sep 17 00:00:00 2001 From: Chris Friedt Date: Mon, 17 Jun 2024 13:04:20 -0400 Subject: [PATCH] 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 --- doc/services/portability/posix/aep/index.rst | 4 +-- .../portability/posix/option_groups/index.rst | 28 ++++++++++++------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/doc/services/portability/posix/aep/index.rst b/doc/services/portability/posix/aep/index.rst index bfeb92853ed73e..b1fe34ee0d9868 100644 --- a/doc/services/portability/posix/aep/index.rst +++ b/doc/services/portability/posix/aep/index.rst @@ -50,8 +50,8 @@ The *Minimal Realtime System Profile* (PSE51) includes all of the :ref:`POSIX_C_LANG_JUMP `, yes, :ref:`POSIX_C_LANG_SUPPORT `, yes, - :ref:`POSIX_DEVICE_IO `, yes, :kconfig:option:`CONFIG_POSIX_DEVICE_IO` - :ref:`POSIX_SIGNALS `,, :kconfig:option:`CONFIG_POSIX_SIGNALS` + :ref:`POSIX_DEVICE_IO `,yes, :kconfig:option:`CONFIG_POSIX_DEVICE_IO` + :ref:`POSIX_SIGNALS `, yes, :kconfig:option:`CONFIG_POSIX_SIGNALS` :ref:`†` :ref:`POSIX_SINGLE_PROCESS `, yes, :kconfig:option:`CONFIG_POSIX_SINGLE_PROCESS` :ref:`XSI_THREADS_EXT `, yes, :kconfig:option:`CONFIG_XSI_THREADS_EXT` diff --git a/doc/services/portability/posix/option_groups/index.rst b/doc/services/portability/posix/option_groups/index.rst index cb7f7e64ce497a..f8e32b125ef833 100644 --- a/doc/services/portability/posix/option_groups/index.rst +++ b/doc/services/portability/posix/option_groups/index.rst @@ -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:`†`. + .. csv-table:: POSIX_SIGNALS :header: API, Supported :widths: 50,10 - abort(),yes - alarm(), - kill(), - pause(), - raise(), - sigaction(), + abort(),yes :ref:`†` + alarm(),yes :ref:`†` + kill(),yes :ref:`†` + pause(),yes :ref:`†` + raise(),yes :ref:`†` + sigaction(),yes :ref:`†` sigaddset(),yes sigdelset(),yes sigemptyset(),yes sigfillset(),yes sigismember(),yes - signal(), - sigpending(), + signal(),yes :ref:`†` + sigpending(),yes :ref:`†` sigprocmask(),yes - sigsuspend(), - sigwait(), + sigsuspend(),yes :ref:`†` + sigwait(),yes :ref:`†` strsignal(),yes .. _posix_option_group_device_io: