|author||Joel Sherrill <firstname.lastname@example.org>||2022-09-06 17:31:18 -0500|
|committer||Joel Sherrill <email@example.com>||2022-09-06 17:31:18 -0500|
|parent||c-user/config/face.rst: New file -- add CONFIGURE_POSIX_TIMERS_FACE_BEHAVIOR (diff)|
posix-users/process_creation_and_execution.rst: Update pthread_atfork()
1 files 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
@@ -313,16 +313,22 @@ pthread_atfork - Register Fork Handlers
- * - ``ENOSYS``
- - This routine is not supported by RTEMS.
+ * - ``0``
+ - This routine is a non-functional stub.
-This routine is not supported by RTEMS.
+This routine is non-functional stub.
+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.
@@ -344,7 +350,7 @@ wait - Wait for Process Termination
- :class: rtems-table
* - ``ENOSYS``
- This routine is not supported by RTEMS.