signals and _REENT

Joel Sherrill joel.sherrill@oarcorp.com
Thu Feb 26 23:45:00 GMT 2015



On February 26, 2015 5:31:53 PM EST, Jeff Johnston <jjohnstn@redhat.com> wrote:
>----- Original Message -----
>> From: "Freddie Chopin" <freddie_chopin@op.pl>
>> To: newlib@sourceware.org
>> Sent: Thursday, February 26, 2015 4:55:00 PM
>> Subject: Re: signals and _REENT
>> 
>> On 02/26/2015 10:41 PM, Jeff Johnston wrote:
>> > Actually I did miss something.  Since we are using the global list,
>> > we have to thread protect it with locking and unlocking.  The
>normal way
>> > would be
>> > to add two new locks: __sigfunc_lock_acquire() and
>__sigfunc_lock_release()
>> > which
>> > are needed if not single threaded.  This will cause some breakage
>for
>> > builds that
>> > use threads until they define these locks.  Perhaps a single global
>reent
>> > lock might
>> > be helpful.
>> 
>> In that case maybe it would be a good idea to "reuse" the lock that
>is
>> used with _GLOBAL_REENT in stdio? Or do you think separate lock for
>> signals and separate lock for stdio would be a better option (smaller
>> chance of congestion)?
>> 
>
>I had thought of that.  I'm ok with using the _newlib_sfp_lock_start
>and
>_newlib_sfp_lock_end macros as they are defined in stdio/local.h.  If
>no one
>objects, I can do that at least for now.

How many locks does newlib require? Is there a per thread factor?

>-- Jeff J.

--joel



More information about the Newlib mailing list