X/Open (The Open Group) Institutional Ballot +44 118 950 8311 x2250 P1 of 1 ajosey@rdg.opengroup.org Fax: +44 118 950 0110 P1003.1j/D8 5th July 1999 ------------------------------------------------------------------------------ @ 0 c 1 1. Sect 0 OBJECTION. page 0, line 0: Problem: (Don CRAGUN's ballot) I am familiar with the Ballot from Donald W. Cragun and would object if these changes were not included in this standard. Action This objection can be resolved by resolving the ballot from Donald W. Cragun ------------------------------------------------------------------------------ @ 11.4.1 c 1 1: Section 11.4.1 COMMENT. page 19 line(s) 13 Problem: The clock attribute should not be under the "monotonic clock" option. There are (can be) other clocks besides CLOCK_MONOTONIC with which the clock attribute could be used. Action: The _POSIX_CLOCK_NANOSLEEP option should be generalized to encompass both clock_nanosleep and the clock attribute. For example, it might be called _POSIX_CLOCK_WAITS, signifying "several additional ways to wait on an application-specified clock". It would be acceptable to require that the clock attribute be support if either the "monotonic clock" or "designated clock wait" options were supported, but that's not necessary. ------------------------------------------------------------------------------ @ 11.5 c 2 2: Section 11.5 COMMENT. page 23 line(s) 145-153 Problem: POSIX 1003.1c-1995 made the mistake of failing to specify that mutex and condition variable objects cannot be copied, as 1003.1b-1993 had done for semaphores. The interpretations committee has recommended that the standard be fixed, as the "no copy" provision had been intended to apply. Let's not propagate the mistake in 1003.1j. Action: Add to section 11.5.2.2 the paragraph "Only barrier itself may be used for performing synchronization. The result of referring to copies of barrier in calls to pthread_barrier_destroy, or pthread_barrier_wait, is undefined." ------------------------------------------------------------------------------ @ 11.6 c 3 3: Section 11.6 COMMENT. page 29 line(s) 369 Problem: POSIX 1003.1c-1995 made the mistake of failing to specify that mutex and condition variable objects cannot be copied, as 1003.1b-1993 had done for semaphores. The interpretations committee has recommended that the standard be fixed, as the "no copy" provision had been intended to apply. Let's not propagate the mistake in 1003.1j. Action: Add to section 11.6.2.2 the paragraph "Only lock itself may be used for performing synchronization. The result of referring to copies of lock in calls to pthread_rwlock_destroy, pthread_rwlock_rdlock, pthread_rwlock_timedrdlock, pthread_rwlock_tryrdlock, pthread_rwlock_wrlock, pthread_rwlock_timedwrlock, pthread_rwlock_trywrlock, pthread_rwlock_rdunlock, or pthread_rwlock_wrunlock, is undefined." ------------------------------------------------------------------------------ @ 11.6 c 4 4: Section 11.6 COMMENT. page 36 line(s) 606-662 Problem: The (separate) read-write lock unlock operations specified in 1003.1j/D7 do not match the single pthread_rwlock_unlock operation specified by the Single UNIX Specification, Version 2. I had been told that it was a goal of 1003.1j that they be the same. While pthread_rwlock_wrunlock can (perhaps, if the implementation tracks ownership) validate the ownership, pthread_rwlock_rdunlock cannot. Therefore, there's little benefit from separate functions, and it doesn't justify the confusion of the divergence from UNIX98. Action: Remove the two separate unlock functions and specify a single pthread_rwlock_unlock as in UNIX98. ------------------------------------------------------------------------------ @ 11.7 c 5 5: Section 11.7 COMMENT. page 39 line(s) 739-742 Problem: POSIX 1003.1c-1995 made the mistake of failing to specify that mutex and condition variable objects cannot be copied, as 1003.1b-1993 had done for semaphores. The interpretations committee has recommended that the standard be fixed, as the "no copy" provision had been intended to apply. Let's not propagate the mistake in 1003.1j. Action: Add to section 11.7.1.2 the paragraph "Only lock itself may be used for performing synchronization. The result of referring to copies of lock in calls to pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock, or pthread_spin_unlock, is undefined." ------------------------------------------------------------------------------ ----- Andrew Josey The Open Group Base WG Chair Apex Plaza,Forbury Road, Email: a.josey@opengroup.org Reading,Berks.RG1 1AX,England Tel: +44 118 9508311 ext 2250 Fax: +44 118 9500110 OSF/1, Motif, UNIX and the "X" device are registered trademarks in the US and other countries, and IT DialTone and The Open Group are trademarks of The Open Group.