|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1096 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1096.
Report 1096 Actions
Problem Report Number 1096 Submitter's Classification Minor System Fault State Resolved Resolution Minor System Fault (MSF) Problem Resolution ID MSF.X.0045 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1995-12-18 08:00 Expiry Date 1996-12-18 Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.0.2 Test Identification BASE/exit_exit 4 Problem Summary MSF4U.00008 This test may fail because the implementation does not properly end the lifetime of the calling process immediately. Problem Text
This test may fail because the implementation does not properly
end the lifetime of the calling process immediately.
SUBMITTERS ORIGINAL COMMENTS
When the parent process of the calling process has set its SA_NOCLDWAIT
flag, our implementation does not discard status and end the lifetime of
the calling process immediately. Since this is a new functionality to
the standards, there is no impact to our existing customer base, and lack
of the functionality does not affect program portability because lifetime
of the process will be ended (eventhough not immediately).
SUBMITTERS REPLY TO INITIAL CONSULTANT COMMENTS
On the implementation for which the MSF is requested, the
lifetime of the process will be ended when the parent terminates.
We believe that the MSF should be granted since the existance of
the zombie process can have no effect to the portability of a
portable applications.
Further, we believe that even if the lifetime of the zombie never
ended, we still believe that the MSF should be granted for the
same reason that it is not an issue for the portability of a
portable applications. We do believe that this case would be a
quality of implementation issue, but this type of issue is not
addressed by the XPG specifications.Test Output
TEST CASE: exit
TEST PURPOSE #4
When the parent process of the calling process has set
its SA_NOCLDWAIT flag a call to void
exit(int status) shall discard status and end the
lifetime of the calling process immediately.
PREP: Set SA_NOCLDWAIT
PREP: Fork child
PREP: Wait for child to exit
PREP: Execute /bin/ps to get child's status
TEST: Lifetime of child has ended
ERROR: Life of child continues
PREP: Call exit
4 FAIL
TEST CASE: _exit
TEST PURPOSE #4
When the parent process of the calling process has set
its SA_NOCLDWAIT flag a call to void
_exit(int status) shall discard status and end the
lifetime of the calling process immediately.
PREP: Set SA_NOCLDWAIT
PREP: Fork child
PREP: Call _exit
PREP: Wait for child to exit
PREP: Execute /bin/ps to get child's status
TEST: Lifetime of child has ended
TEST: Status discarded
PREP: Fork child
PREP: Call _exit
PREP: Wait for child to exit
PREP: Execute /bin/ps to get child's status
TEST: Lifetime of child has ended
TEST: Status discarded
PREP: Fork child
PREP: Call _exit
PREP: Wait for child to exit
PREP: Execute /bin/ps to get child's status
TEST: Lifetime of child has ended
ERROR: Life of child continues
4 FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
INITIAL CONSULTANTS COMMENTS
We have no strong opinion either about this.
Although it may be true that current applications do not
rely on the functionality described here, they may start to at
some point. When they do, the application will compile without
error. That is to say the developer may not notice this feature
is not implemented.
When the application is run, each child that it spawns will
leave behind a zombie. These zombies will remain, taking up
a process slot, until the application exits. This is true
because the application will never reap them since SA_CHILDNOWAIT
removes this necessity. When the application exits the shell
that spawned it will inherit the zombies. It will do the
reaping for the application. The process slots will be made
available for use by other processes.
This is all well and good, except in the case of long lived
applications which spawn lots of children (ie a mail server).
In this case all process slots on the system will eventually
fill. This will bring the system to a halt.
CONSULTANTS RESPONSE TO SUBMITERS REPLY
We agree that this issue does not affect portability, but
our original analysis still stands.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Minor System Fault (MSF) Review Conclusion
A Temporary Waiver is granted.
Problem Reporting System Options:
- View Report 1096
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority