signals and _REENT

Freddie Chopin freddie_chopin@op.pl
Wed Feb 25 16:05:00 GMT 2015


On 02/24/2015 07:07 PM, Jeff Johnston wrote:
> These functions set errno for the caller when an error has occurred.
> This would mean a user would have to check the global errno value (not using
> the dynamic reentrancy errno macro) which in turn could be changed by
> another thread making similar calls and therefore unreliable.

If errno is the only reason for using _REENT instead of _GLOBAL_REENT 
then this can be easily solved. The functions may still get pointer to 
current _REENT (for errno), but signal actions should be taken/set with 
_GLOBAL_REENT.

Regards,
FCh



More information about the Newlib mailing list