Austin Group Defect Tracker

Aardvark Mark IV

Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0001383 [Issue 8 drafts] System Interfaces Editorial Enhancement Request 2020-07-25 11:24 2020-07-27 14:40
Reporter dannyniu View Status public  
Assigned To
Priority normal Resolution Open  
Status New   Product Version Draft 1
Name DannyNiu/NJF
User Reference
Section Fork
Page Number 878
Line Number 29985
Final Accepted Text
Summary 0001383: Make "Application Usage" less confusing.
Description The "Application Usage" section has new content that's
added in response to Bug 62, but right now it has a
confusing (at least on the first sight) wording that's
unfriendly to new readers not familiar to the modification
made to fork.

Specifically, it says:

> processing performed in the child before fork() returns

On the first sight, it seems nonsensical as child doesn't
even exist before fork returns, however, when reminded of
pthread_atfork handlers, it makes sense.
Desired Action Change

> processing performed in the child before fork() returns


> processing performed in the child by the pthread_atfork()
> handlers before fork() returns
Tags No tags attached.
Attached Files

- Relationships
related to 0001114Applied 1003.1(2016)/Issue7+TC2 Clarify if fork preserves thread resources 

-  Notes
geoffclare (manager)
2020-07-27 09:07

This change was not made as a result of bug 0000062, it is from the unrelated bug 0001114.

Where the new text refers to "processing performed in the child before fork() returns" it means everything that the implementation of fork() does in the child between the point where it creates the child process and the point where it returns in the child process. This includes any processing related to the bullet list on lines 29903-29957.

Rather than adding a reference to pthread_atfork() (which would incorrectly imply that the text only applies to processing performed by atfork handlers) we should make it clear that the text applies to both fork() and _Fork().
geoffclare (manager)
2020-07-27 09:13

Suggested change...

On page 878 line 29980 section fork(), change:
When a multi-threaded process calls fork(), ...
When a multi-threaded process calls fork() or _Fork(), ...

On page 878 line 29985 section fork(), change:
the processing performed in the child before fork() returns
the processing performed in the child before fork() or _Fork() returns in the child
shware_systems (reporter)
2020-07-27 14:40

Upon rereading 1114, I'm more inclined second change in Note 4901 should start 'any processing', not 'the processing', to be inclusive of any implementations that set up the child's data space entirely before handing it off to the process scheduler, where this is plausible. Use of 'the' implies there will always be post handoff manipulations.

- Issue History
Date Modified Username Field Change
2020-07-25 11:24 dannyniu New Issue
2020-07-25 11:24 dannyniu Name => DannyNiu/NJF
2020-07-25 11:24 dannyniu Section => Fork
2020-07-25 11:24 dannyniu Page Number => 878
2020-07-25 11:24 dannyniu Line Number => 29985
2020-07-27 09:07 geoffclare Note Added: 0004900
2020-07-27 09:07 geoffclare Relationship added related to 0001114
2020-07-27 09:13 geoffclare Note Added: 0004901
2020-07-27 14:40 shware_systems Note Added: 0004902

Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker