Use of the information contained in this unapproved document is at your own risk
.Last update: 10 April,2001
1003.1-96 #85
_____________________________________________________________________________
Interpretation Number: XXXX
Topic: signal.h and namespace
Relevant Sections: Subclause 3.3.1, P70 & subclause 3.3.8.1, P80 (sigtimedwait())
Interpretation Request: (Defect Report)
-----------------------
Date: Wed, 25 Feb 1998 11:22:12 -0600
From: Don.Cragun@eng.sun.com
------------------------------------------------------------------------
7 Defect Report concerning (number and title of International Standard
or DIS final text, if applicable):
IEEE Std 1003.1-1996 (incorporates 1003.1-1990, 1003.1b-1993, 1003.1c-1995, 1003.1i-1995) (ISO 9945-1:1996)
------------------------------------------------------------------------
8 Qualifier (e.g. error, omission, clarification required):
2
Error=1 , Omission=2, Clarification=3
------------------------------------------------------------------------
9 References in document (e.g. page, clause, figure, and/or table
numbers):
Subclause 3.3.1, P70 & subclause 3.3.8.1, P80 (sigtimedwait())
------------------------------------------------------------------------
10 Nature of defect (complete, concise explanation of the perceived
problem):
POSIX defines the sigtimedwait() function, which
takes a const struct timespec * as one of it's arguments. This
function is declared in the <signal.h> header. However, the
synopsis for sigtimedwait() does not specify inclusion of
<time.h> which is where the timespec structure is defined.
Likewise, the sigtimedwait() description does not state any
requirements for defining struct timespec, nor does it allow
for the visibility of symbols in <time.h> when including
<signal.h>. To include <signal.h> and not define struct
timespec will result in compilers generating a warning about
a dubious tag declaration for struct timespec.
Though POSIX references <time.h> in the Cross-
References and See Also sections respectively, and talks
about the timespec structure in the text, there is no indication
as to how one should go about making this visible.
------------------------------------------------------------------------
11 Solution proposed by the submitter (optional):
Add a paragraph after POSIX.1-1996, P70, L50 (description of
<signal.h>):
Inclusion of the <signal.h> header may make visible symbols
allowed by this part of ISO/IEC 9945 to be in the <time.h>
header.
(This matches the wording used on POSIX.1-1996, P319 for <mqueue.h>.)
------------------------------------------------------------------------
Interpretation response
------------------------
The standard does not speak to this issue, and as such no
conformance distinction can be made between alternative implementations
based on this. This is being referred to the sponsor.
Rationale
-------------
There appear to be some omissions in the specification.
It is recommend that a future revision address this issue.
Forwarded to Interpretations group: 26 Feb 1998
Finalised: 30 March 1998