This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix quick_exit to match C++11 specification.


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.


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