On Tue, 7 Dec 2021, 21:20 Florian Weimer via Libstdc++, <
libstd...@gcc.gnu.org> wrote:

> * Jonathan Wakely via Libstdc:
>
> > If necessary we could keep the terminate-on-cancellation behaviour as
> > _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@GLIBCXX_3.4.11
> > and export the new behaviour as @@GLIBCXX_3.4.30, although this patch
> > doesn't do that.
>
> Note that if this fix escapes into the wild and then you have to make
> the symbol version change, you will break newer applications.  In a few
> cases in glibc, we proactively added aliases at a different symbol
> version, but with the same implementation (at first).
>

To be safe, we probably should preserve the old behaviour for the old
version of the symbol. If we decide that the new behaviour is always
preferable, we could change that later by making the old symbol an alias
for the new. If we don't decide that, we'll be glad we made it a separate
symbol.

I'll see if I can get it working with two versioned symbols. We don't
actually do that in libstdc++ currently, we only have a single version of
every symbol.

Thanks for the input - you convinced me that the extra work is worthwhile.

Reply via email to