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                          
======================================================================


Reply via email to