This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [patch] New option --disable-reenterable-atexit
- From: Ye Joey <joey dot ye dot cc at gmail dot com>
- To: Sebastian Huber <sebastian dot huber at embedded-brains dot de>
- Cc: newlib at sourceware dot org
- Date: Wed, 16 Oct 2013 18:18:26 +0800
- Subject: Re: [patch] New option --disable-reenterable-atexit
- Authentication-results: sourceware.org; auth=none
- References: <000001ceca3a$675f0f00$361d2d00$ at arm dot com> <525E4F99 dot 5000803 at embedded-brains dot de>
On Wed, Oct 16, 2013 at 4:34 PM, Sebastian Huber
<sebastian.huber@embedded-brains.de> wrote:
>> +`--disable-reenterable-atexit'
>> + Disable reenterablility of atexit by declare related data structures
>> + as global variables. By doing these data structures can be discarded
>> + if atexit is not referenced.
>> + Enabled by default.
>
>
> I think the naming and the description is a bit misleading. The atexit()
> support is not thread specific. Operations are serialized with the
> __atexit_lock lock. In case _REENT_GLOBAL_ATEXIT is undefined, then the
> data structures for the atexit() support are part of struct _reent, but only
> used in _GLOBAL_REENT. Thus the space in the thread specific structures is
> wasted. See also
>
> https://sourceware.org/ml/newlib/2013/msg00355.html
I named it to mean that atexit isn't in _reent. But _reent isn't a
good name as option as it is implementation specific data structure
name.
How about --enable-global-atexit-data, and changes the description accordingly?
Thanks,
Joey