[PATCH] Fix quick_exit to match C++11 specification.
Carlos O'Donell
carlos@redhat.com
Wed Jun 8 19:19:00 GMT 2016
On 06/07/2016 09:48 AM, Florian Weimer wrote:
> On 06/07/2016 03:17 PM, Carlos O'Donell wrote:
>
>>> I also do not see compelling reason to provide a compat symbol this
>>> specific issue. The destruction handles are registered only with
>>> __cxa_thread_atexit_impl and it is used only for thread_local on
>>> C++. And C++ definition on quick_exit stated that it does not
>>> run the TLS destructors, so a program that relies on it is just
>>> expecting a non-conforming implementation behaviour.
>>
>> The problem is that we've had a quick_exit that runs thread local
>> destructors since glibc 2.10 (2009),
>
> How so? You only changed behavior for the 2.18 TLS dtor support added here:
You are absolutely right.
In which case it's only 3 years of usage.
> commit ba384f6ed9275f3966505f2375b56d169e3dc588
> Author: Siddhesh Poyarekar <siddhesh@redhat.com>
> Date: Mon Feb 18 19:08:21 2013 +0530
>
> C++11 thread_local destructors support
>
> I don't see how your change makes a different for the libstdc++ approximation.
>
> What am I missing?
Nothing.
* Is 3 years enough usage to justify a compat symbol?
* Is the cost of the compat symbol and long term maintenance
worth the benefit to our users?
My feeling is that this is a "yes" in this particular case, and
I did the work to fix the interface and test the compat symbol.
Are there any other downsides that I missed?
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list