Defect Report concerning: IEEE Std. 1003.1c-1995, ISO/IEC 9945-1:1990 AMD 2 - Threads
Clause: 3.3.5.1, 2.7.3
PASC Interpretation Ref: pasc-1003.1c-42
Topic: pthread_sigmask, pthread.h


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  #42

 _____________________________________________________________________________

	Interpretation Number:	XXXX
        Topic:                  pthread_sigmask, pthread.h
        Relevant Sections:      3.3.5.1, 2.7.3

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

	From: Andrew Josey (on behalf of the X/Open Base working group)

Interpretation Request for:
   IEEE Std 1003.1c-1995 as contained in:
   ISO/IEC 9945-1:1996(E), ANSI/IEEE Std. 1003.1, 1996 Edition.

ISO 9945-1:1996, 3.3.5.1, synopsis section shows pthread_sigmask() declared
in signal.h, but 2.7.3 shows it declared in pthread.h.

Proposed response

POSIX.1-1996 is unclear and allows the prototype to appear
either in pthread.h or signal.h. It is recommended
that a future revision require it only in signal.h since pthread.h
does not defined sigset_t.

Interpretation response
-----------------------
The standard is clear in section 2.7.3 that pthread_sigmask shall be
defined in pthread.h.
But section 3.3.5.1 also clearly indicates that pthread_sigmask() is
available as if it shall have been defined in <signal.h>,
which is a contradiction in the standard.   

It is the opinion of the interpretations committee that the intent of
the working and balloting groups is that shown by the synopsis section
of 3.3.5.1: the definition of pthread_sigmask should not be pthread.h
but rather in signal.h.  This is being referred to the sponsor for
correction with a request for a speedy resolution.  The interpretations
committee also noted that the function pthread_kill has the same
contradiction. 

Rationale
-------------
The interpretation committee believes that the standard is has a defect
that causes a contradiction. The intention was to have the definitions
in signals.h.  Additionally, existing industry practice seems to support
this belief and the need for a timely response by the sponsor.

Forwarded to Interpretations group: Dec 11 1996
Proposed resolution: Jan 29 97
Finalised: May 8th 1997