[RFC]: Thread safety in __sfp and atexit
Mon Jan 19 22:04:00 GMT 2004
Thomas Pfaff wrote:
> The list operations in __sfp and atexit are not thread safe AFAICS.
> This could be avoided by using a mutex or atomic instructions when a
> FILE pointer is acquired or an atexit function is added.
> The problem hereby is that such a mutex should be created on newlib
> initialization (_REENT_INIT on the _impure_ptr for example), but there
> might be better locations.
> Doing list insert with atomic instructions on the other hand is easy
> on i86 (i486 and above) but might be a problem on other platfomrs.
> Comments are welcome.
You can't assume atomic instructions exist for all platforms. I think
something akin to the ENV_LOCK. MALLOC_LOCK methods used by the getenv
and malloc family routines would be appropriate.
-- Jeff J.
More information about the Newlib