[rtems-docs commit] posix-users/process_creation_and_execution.rst: Update pthread_atfork()

Joel Sherrill joel at rtems.org
Tue Sep 6 22:22:08 UTC 2022


Module:    rtems-docs
Branch:    master
Commit:    8741d2c23451828bd22bbf98e412f72d6caf5199
Changeset: http://git.rtems.org/rtems-docs/commit/?id=8741d2c23451828bd22bbf98e412f72d6caf5199

Author:    Joel Sherrill <joel at rtems.org>
Date:      Tue Sep  6 17:31:18 2022 -0500

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.



More information about the vc mailing list