From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 80009 invoked by alias); 12 Mar 2019 03:33:49 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 79994 invoked by uid 89); 12 Mar 2019 03:33:49 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.1 spammy=sigint, SIGINT, delivering X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (209.51.188.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 12 Mar 2019 03:33:47 +0000 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48510) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h3YAj-0004rl-9M; Mon, 11 Mar 2019 23:33:46 -0400 Received: from [176.228.60.248] (port=3262 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1h3YAb-0007VA-Qy; Mon, 11 Mar 2019 23:33:40 -0400 Date: Tue, 12 Mar 2019 03:33:00 -0000 Message-Id: <83lg1k4vhx.fsf@gnu.org> From: Eli Zaretskii To: Tom Tromey CC: gdb-patches@sourceware.org In-reply-to: <87ef7d8298.fsf@tromey.com> (message from Tom Tromey on Mon, 11 Mar 2019 16:39:15 -0600) Subject: Re: [RFC 0/6] Demangle minimal symbol names in worker threads References: <20190309172300.2764-1-tom@tromey.com> <83tvgb7we9.fsf@gnu.org> <87ef7d8298.fsf@tromey.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-IsSubscribed: yes X-SW-Source: 2019-03/txt/msg00234.txt.bz2 > From: Tom Tromey > Cc: Tom Tromey , gdb-patches@sourceware.org > Date: Mon, 11 Mar 2019 16:39:15 -0600 > > >>>>> "Eli" == Eli Zaretskii writes: > > Eli> Thanks, but is std::thread portable enough? E.g., I recall problems > Eli> with it in MinGW. > > I asked around and learned that std::thread should work fine if you have > winpthreads, which apparently is used by default for mingw-w64. > > I don't actually know much about the mingw world, so I don't know if > that is good enough or not. Could you say? I could try. But regardless, I think we should allow for ports whose std::thread is not up to the task, because evidently this is a problematic area of libstdc++. It is IMO better to allow running this code in a single thread than breaking the entire build on some platform because other platforms might benefit from multiple execution cores. > Eli> Same question regarding delivering signals to threads. > > If the signal thing is broken in this series, then it is probably > already broken today. However I think it ought to be ok as SEGV is a > synchronous signal; that is, it is delivered to the faulting thread. I thought you were going to use that for signals in general. Maybe SEGV is OK. But in general, signals are weird on Windows wrt threads; for example, a SIGINT handler runs in a separate thread created by Windows. Thanks.