This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Newlib thread features.




J. Johnston wrote:

> Fabrice Gautier wrote:
> 
>> Hi again,
>> 
>> Does anybody has an answer for my question ?
>> 
>> Fabrice Gautier wrote:
>> 
>>> Hi,
>>> 
>>> I would like to know if Newlib has thread support and/or if it is thread
>>> safe.
>>> It would like for use with uClinux.
>> 
>> Thank you.
>> 
>> --
>> Fabrice Gautier
>> Fabrice_Gautier@sdesigns.com
> 
> 
> Newlib is not fully thread-safe.  It has special versions of routines that can be
> used to create a thread-safe program.  These are the _r routines which take an additional
> parameter which is the reentrancy structure for that thread.  A program must create
> a separate reentrancy structure per thread.
> 
> One unprotected area is I/O.  A program must take responsibility for protecting all
> access to files.  In the case of storage allocation and environment variables, special
> mutex calls are made but the code for the mutex locks is generally not provided for
> most platforms.  If you code these routines, then the two areas are subsequently protected.

I don't know if uCLinux does this but RTEMS also provides a per-thread 
copy of the reentrancy structure and
switches newlib's pointer (impure_ptr) during context switches.  This 
covers a bit more of the code.

> 
> -- Jeff J.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]