From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by sourceware.org (Postfix) with ESMTPS id E93383858D28; Tue, 7 Dec 2021 21:38:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E93383858D28 Received: by mail-wr1-x42d.google.com with SMTP id c4so462525wrd.9; Tue, 07 Dec 2021 13:38:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Qv1t8mVtLlt8yoxN3YoUpcjgyfC13Ey0LfV2E1Deuzo=; b=xF19iooBvugDEz2xKsWwGEoKbb/MICALxOlXWAQev+KQnOFfs1ZW6cJ/G/lDDemYg1 gFWw+kp5SAPbCOSNJfZmBiwpSIBeI/FHd+mt1kKzh9ncaGNeiQCRGuNFV4tJBdI0+o7n PzEcDNycSyrjlv6fakkQqdrcuWA8REsY8hRiANjxx+0dDMWB+QxtsHRZ6XRPDFS1gdqC r/oOAPoqd0OmDFNOVSwezrVw6cGPH3MBVUCGD5Ndk0oHWko7l8xu5XN1RpuiamEGsDjC j/EVPSxf7K12BwOEfJaN69AKdJ1Xedk4KjoqA5kSIMNiE58RepqUSmYArSxhhXkUvP0V O5Zg== X-Gm-Message-State: AOAM533Qdbg5Q7kxAE0gtM9lVfFnrOif2BlcUlvhiORQ4WG9IYbY9ob3 bk006kULX0AePxJGXoOlrbV+a7ct2ZoP9JB4EUA= X-Google-Smtp-Source: ABdhPJwNPpqDew9RsuzsftppKaOlYkMdk4bw/X6vX94DjmW91M2P3r1A+7T9gpp+ZDwzBAV5zpATsmk2aG6XI3C1tcg= X-Received: by 2002:adf:db04:: with SMTP id s4mr53294949wri.467.1638913120022; Tue, 07 Dec 2021 13:38:40 -0800 (PST) MIME-Version: 1.0 References: <20211207205803.1142706-1-jwakely@redhat.com> <871r2onmfg.fsf@oldenburg.str.redhat.com> In-Reply-To: <871r2onmfg.fsf@oldenburg.str.redhat.com> From: Jonathan Wakely Date: Tue, 7 Dec 2021 21:38:26 +0000 Message-ID: Subject: Re: [PATCH] libstdc++: Allow std::condition_variable waits to be cancelled [PR103382] To: Florian Weimer Cc: "Jonathan Wakely via Libstdc++" , Jonathan Wakely , gcc-patches X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Dec 2021 21:38:42 -0000 On Tue, 7 Dec 2021, 21:20 Florian Weimer via Libstdc++, < libstdc++@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.