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