Joel Sherrill
Fri Nov 16 11:39:00 GMT 2012

On 11/12/2012 11:51 AM, Corinna Vinschen wrote:
> On Nov 12 18:44, Ralf Corsepius wrote:
>> On 11/12/2012 06:19 PM, Joel Sherrill wrote:
>>> Hi
>>> Attached is a very simple 1 line patch which adds the
>>> missing constant PTHREAD_RWLOCK_INITIALIZER and
>>> makes it have the same value as the other similar
>>> constants.
>>> OK to commit?
>> No.
>>> 2012-11-12  Joel Sherrill <>
>>>      * libc/include/pthread.h: Add PTHREAD_RWLOCK_INITIALIZER.
>> Is it your intention to initialize to -1?
>> If so, initialization to 0xffffffff would not return -1 on platforms
>> with size > 32 bit.
>> Also, your construct would fail on platforms with sizeof(ptr) < 32bit.
> sys/types.h defines pthread_rwlock_t as __uint32_t.
The Open Group page I cited has the intended usage and it is NOT about a 

        pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;

All PTHREAD_XXX_INITIALIZER values are defined by Open Group to be used
the same  way.  newlib's pthread.h has macros which define them exactly
the same way.

FWIW: Sorry if someone got this twice. The mail list manager rejected it 
the Open Group example resulted in the message being in html, not text.
> Corinna

Joel Sherrill, Ph.D.             Director of Research&  Development        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
     Support Available             (256) 722-9985

More information about the Newlib mailing list