From 8741d2c23451828bd22bbf98e412f72d6caf5199 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 6 Sep 2022 17:31:18 -0500 Subject: posix-users/process_creation_and_execution.rst: Update pthread_atfork() Updates #4713. --- posix-users/process_creation_and_execution.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/posix-users/process_creation_and_execution.rst b/posix-users/process_creation_and_execution.rst index 835f3cc..9d47589 100644 --- a/posix-users/process_creation_and_execution.rst +++ b/posix-users/process_creation_and_execution.rst @@ -313,16 +313,22 @@ pthread_atfork - Register Fork Handlers .. list-table:: :class: rtems-table - * - ``ENOSYS`` - - This routine is not supported by RTEMS. + * - ``0`` + - This routine is a non-functional stub. **DESCRIPTION:** -This routine is not supported by RTEMS. +This routine is non-functional stub. **NOTES:** -NONE +The POSIX specification for ``pthread_atfork()`` does not address the behavior +when in a single process environment. Originally, the RTEMS implementation +returned -1 and set errno to ``ENOSYS``. This was an arbitrary decision +part with no basis from the wider POSIX community. The FACE Technical +Standard includes profiles without multiple process support and defined +the behavior in a single process environment to return 0. Logically, the +application can register atfork handlers but they will never be invoked. .. _wait: @@ -344,7 +350,7 @@ wait - Wait for Process Termination **STATUS CODES:** .. list-table:: - :class: rtems-table + * - ``ENOSYS`` - This routine is not supported by RTEMS. -- cgit v1.2.3