A NOTE has been added to this issue. ====================================================================== http://austingroupbugs.net/view.php?id=1114 ====================================================================== Reported By: Florian Weimer Assigned To: ====================================================================== Project: 1003.1(2016)/Issue7+TC2 Issue ID: 1114 Category: System Interfaces Type: Clarification Requested Severity: Editorial Priority: normal Status: New Name: Florian Weimer Organization: Red Hat User Reference: Section: fork Page Number: unknown Line Number: unknown Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2017-01-12 16:05 UTC Last Modified: 2018-07-19 15:20 UTC ====================================================================== Summary: Clarify if fork preserves thread resources ======================================================================
---------------------------------------------------------------------- (0004054) geoffclare (manager) - 2018-07-19 15:20 http://austingroupbugs.net/view.php?id=1114#c4054 ---------------------------------------------------------------------- This was discussed in the July 12 and July 19, 2018 teleconferences. We believe no change is needed to the normative text of the standard. It clearly states that the child contains a replica of the calling thread's entire address space. The request to change this to specify the process's address space would make no difference since the address space of the thread and the process are one and the same. This is clear from XBD 3.404 Thread: "Anything whose address may be determined by a thread, including but not limited to static variables, storage obtained via malloc(), directly addressable storage obtained through implementation-defined functions, and automatic variables, are accessible to all threads in the same process." The standard is also clear that a process is created with a single thread. Any additional threads in the parent simply don't exist in the child; they aren't terminated because in order to be terminated they would first have to exist. Issue History Date Modified Username Field Change ====================================================================== 2017-01-12 16:05 Florian Weimer New Issue 2017-01-12 16:05 Florian Weimer Name => Florian Weimer 2017-01-12 16:05 Florian Weimer Organization => Red Hat 2017-01-12 16:05 Florian Weimer Section => fork 2017-01-12 16:05 Florian Weimer Page Number => unknown 2017-01-12 16:05 Florian Weimer Line Number => unknown 2017-01-12 16:50 torvald Note Added: 0003541 2017-01-12 16:50 torvald Issue Monitored: torvald 2017-05-19 20:20 slow Issue Monitored: slow 2017-10-30 16:35 Florian Weimer Issue Monitored: Florian Weimer 2018-07-19 15:20 geoffclare Note Added: 0004054 ======================================================================