#4713 closed defect (fixed)

Make pthread_atfork follow FACE Technical Standard Behavior for Single Process Environments

Reported by: Joel Sherrill Owned by: Joel Sherrill
Priority: normal Milestone: 6.1
Component: posix Version:
Severity: normal Keywords:
Cc: Blocked By:


The POSIX specification for pthread_atfork() does not address the behavior when in a single process environment. The RTEMS implementation was an arbitrary decision on our part with no basis from the wider POSIX community. The FACE Technical Standard includes profiles without multiple process support and has defined the behavior for this method as follows:

When multiple POSIX processes are supported, pthread_atfork(), the functionality is per the POSIX standard. When multiple POSIX processes are not supported, pthread_atfork() should return 0. The provision to support only a single process is not addressed in the POSIX standard.

The RTEMS implementation currently returns ENOSYS instead of 0.

This ticket is to track the change to RTEMS and the documentation.

Change History (2)

comment:1 Changed on 09/06/22 at 21:59:42 by Joel Sherrill <joel@…>

Resolution: fixed
Status: assignedclosed

In dbba9430/rtems:

pthread_atfork(): Change to behavior from FACE Technical Standard

Closes #4713.

comment:2 Changed on 09/06/22 at 22:22:09 by Joel Sherrill <joel@…>

In 8741d2c/rtems-docs:

posix-users/process_creation_and_execution.rst: Update pthread_atfork()

Updates #4713.

Note: See TracTickets for help on using tickets.