Defect Report concerning: IEEE Std. 1003.1c-1995, ISO/IEC 9945-1:1990 AMD 2 - Threads
Clause: 3.1.3.2
PASC Interpretation Ref: pasc-1003.1c-12
Topic: thread specific data


This is an unapproved interpretation of PASC 1003.1c-1995, ISO/IEC 9945-1:1990 AMD 2 - Threads.

Use of the information contained in this unapproved document is at your own risk.

Last update: 30 March,1998


								1003.1c-95  #12

 _____________________________________________________________________________

	Interpretation Number:	XXXX
	Topic:               thread specific data
	Relevant Sections:   3.1.3.2

Interpretation Request: (Defect Report)
-----------------------

	Date: Tue, 16 Jul 1996 15:40:53 -0700
	From: "Scott J. Norton" <sjn@hpwssjn.cup.hp.com>


Section 3.1.3.2, page 27 D10, lines 84-94

This function allows an application to essentially install cancellation
type handlers to guarantee that the proper state is maintained in the
child process after a fork.

What is supposed to happen with allocated thread-secific data in the child
process? These functions are, in effect, executed by the thread calling fork.
If the other threads have allocated a lot of thread-specific data, there
is no way for the process to release that memory. The child has immediately
inherited a memory leak when using TSD. Is this intended? There is no way of
using pthread_atfork() to release other threads' thread specific data.


Interpretation response
------------------------

This is a duplicate. See PASC P1003.1c Interpretation #3, part 11

Rationale
-------------
None.
Forwarded to Interpretations group: July 17th 1996
Finalised: September 4th 1996