Subject: US vote on SC 22 N 2678



Please accept the US vote on SC 22 N 2678, PDAM 7 to IS 9945-1:
Information technology - Proposed Draft Amendment to ISO/IEC 9945-1
(POSIX)-Part 1: System Application Program Interface (API) - Amendment
7: Advanced Realtime Extensions (C Language).  The US votes to APPROVE
WITH COMMENTS.  

 Comments on ballot for SC 22 N 2647:
 
 The section and line number references are against IEEE P1003.1j D6
 Dated November 1997
 
 It should be noted that the following comments also have been
 submitted to
 the IEEE Working Group developing IEEE P1003.1j.
 ---------------------------------------------------------------------- 

 @ 0 o 1
 1  Sect 2.7.2 OBJECTION.  page 6, line 100-107:
 
 Problem: (namespace pollution <sys/mman.h>)
 This is namespace pollution. See the position paper from the UK
 on this issue : WG15 N730: Reserved identifiers in POSIX standards.
 
 There are sufficient reserved prefixes for <sys/mman.h> that
 can be used without the need to reserve any addtional prefixes.
 In particular we believe that mem_ and MEM_ will clash with
 existing applications.
 
 The new functionality in this proposed amendment should
 either use existing reserved prefixes (shm_ , MAP_ , MCL_ ,
 MS_ or PROT_) or posix_ or POSIX_ as per the latest draft of
 1003.1a.
 
 Action:
 This objection can be resolved by deleting this section on
 lines 97-107.

 @ 0 o 2
 2 Sect 2.7.3 OBJECTION. page 7, line 130:
 
 Problem: ( namespace pollution )
 
 The addition of the three functins typed_mem_open(), mem_offset()
 and typed_mem_get_info() is namespace pollution.
 
 Action:
 
 Either use an existing reserved prefix for function names
 
 or
 
 use the prefix posix_ as in
 
 posix_typed_mem_open(), posix_mem_offset(), posix_typed_mem_get-info()

 @ 0 o 3
 3 Sect 2.9.3 Objection page 9, line 183-188:
 
 Problem: ( threads requirements)
 
 As well as requiring _POSIX_THREADS , support of these options should
 also require _POSIX_THREAD_SAFE_FUNCTIONS.
 The rationale is that a POSIX conforming system is expected
 also to support the Thread Safe Functions option, so lets mandate
 this.
 
 Action:
 
 Change the occurrences of
 
 "then the symbol {_POSIX_THREADS}"
 
 to
 
 "then the symbols {_POSIX_THREADS} and {_POSIX_THREAD_SAFE_FUNCTIONS}"

 @ 0 o 4
 4 Sect 11.5.1.2 Objection page 26, line 86:
 
 Problem: ( threads header requirements)
 
 IEEE PASC Interpretation reference 1003.1c #46  identifies
 a problem with the existing POSIX.1-1996 specification with
 respect to the definition of the <pthread.h> header.
 
 Many functions include only <pthread.h> in their synopses, however
 it is clear that there are other headers required for a program
 to compile as per the synopses given. This problem occurs
 also in this specification and the same error should not be
 made twice.
 
 The header <sys/types.h> should be included before
 <pthread.h> to define the types
 pthread_attr_t, pthread_cond_t, pthread_condattr_t,
 pthread_key_t, pthread_mutex_t, pthread_mutexattr_t,
 pthread_once_t, pthread_rwlock_t, pthread_rwlockattr_t, and
 pthread_t and the new types introduced in this amendment.
 This ties in with section 2.5 of POSIX 1003.1-1996.
 
 This problem also occurs in the following places:
 
 Section 11.5.2.1 line 163
 Section 11.5.3.1 line 234
 Section 11.6.1.1 line 343
 Section 11.6.2.1 line 420
 Section 11.6.3.1 line 487
 Section 11.6.4.1 line 606
 Section 11.6.5.1 line 708
 Section 11.7.1.1 line 832
 Section 11.7.2.1 line 899
 Section 11.7.3.1 line 939
 
 Action:
 
 Change the synopsis to be
 
 #include <sys/types.h>
 #include <pthread.h>

 @ 0 o 5
 5 Sect 11.6.3.2 Objection page 38, line 530:
 
 Problem: (Timeouts option)
 
 There is no "Timeouts" option.
 
 Action:
 
 Change
 
 "the Timeouts options"
 
 to
 
 "the Timers options"

 @ 0 o 6
 6 Sect 11.6.4.2 Objection page 40, line 639:
 
 Problem: (Timeouts option 2)
 
 There is no "Timeouts" option.
 
 Action:
 
 Change
 
 "the Timeouts options"
 
 to
 
 "the Timers options"

 @ 0 o 6
 6 Sect 12.2 Objection page 54-69, line 26-:
 
 Problem: (namespace pollution)
 
 The following new constants, structures and functions
 are all namespace pollution:
 
 The constants TYPED_MEM_ALLOCATE, TYPED_MEM_ALLOCATE_CONTIG,
 TYPED_MEM_MAP_ALLOCATABLE,
 
 The structure typed_mem_info, with the member tmi_length,
 
 The functions typed_mem_open(), mem_offset(), typed_mem_get_info()
 
 Action:
 
 Either use an existing reserved prefix for function names
 
 or
 
 use the prefix posix_ or POSIX_

 @ 0 c 7
 7 Sect B.12.4.1 Editorial comment page 62, line 324:
 
 Problem: (posix.1b conforming)

 There's no such things as a POSIX.1b conforming realtime system.
 POSIX.1b is not a standalone document as this phrase might suggest.
 There are POSIX.1 conforming systems and there are a set of options
 within a POSIX.1 conforming system.
 
 Action:
 This objection can be resolved either by
 
 Removing "POSIX.1b conforming" to leave "Realtime systems are
 expected..."
 
 Or to enumerate the POSIX.1 options required as in,
 
 "POSIX.1 conforming systems supporting the XXXX option, the YYYY
 option...
 etc"
 
____________________ end of SC22 N2781 ______________________________