IEEE Std 1003.1-2001 Interpretation #31

Copyright © 2006 IEEE. All rights reserved.

IInterpretation Number:	031
                  	Topic:			exit should not invoke cancellation cleanup handlers or per-thread data destructors
                    	Relevant Sections:	XSH exit

------------------------------------------------------------------------

7 Defect Report concerning (number and title of International Standard or DIS final text, if applicable):

The System Interfaces volume of IEEE Std 1003.1-2001

------------------------------------------------------------------------

8 Qualifier (e.g. error, omission, clarification required):

1. Error

------------------------------------------------------------------------

9 References in document (e.g. page, clause, figure, and/or table numbers):

Edition of Specification (Year): 2004 Page: 315 Line: 10266-10267 Section: exit,

Reference xshbug2.txt ERN 41

------------------------------------------------------------------------

10 Nature of defect (complete, concise explanation of the perceived problem):

"exit()" should behave the same as _exit() or _Exit() with respect to cancellation cleanup handlers and per-thread data destructors.

------------------------------------------------------------------------

11 Solution proposed by the submitter (optional):

Replace Threads terminated by a call to _Exit() or _exit() shall not invoke their cancellation cleanup handlers or per-thread data destructors. with Termination of a process shall not invoke any thread cancellation cleanup handlers or per-thread data destructors.

------------------------------------------------------------------------

Interpretation response ------------------------ The standards states the requirements for exit(), and conforming implementations must conform to this. However, concerns have been raised about this which are being referred to the sponsor.

Rationale: --------- None.

Notes to the Editor (not part of this interpretation): ----------------------------------------------------- exit() should be described on a separate page that explains at the end that exit() inherits the behavior described separately for _exit()

Back to IEEE Standards Interpretations for IEEE Std 1003.1-2001