From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 78367 invoked by alias); 15 Jun 2015 15:14:03 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 78352 invoked by uid 89); 15 Jun 2015 15:14:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_SOFTFAIL autolearn=no version=3.3.2 X-HELO: mtaout22.012.net.il Received: from mtaout22.012.net.il (HELO mtaout22.012.net.il) (80.179.55.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 15 Jun 2015 15:14:00 +0000 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NPZ00H00RHXFR00@a-mtaout22.012.net.il> for gdb@sourceware.org; Mon, 15 Jun 2015 18:13:24 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NPZ00HR3RMBDJ30@a-mtaout22.012.net.il>; Mon, 15 Jun 2015 18:13:23 +0300 (IDT) Date: Mon, 15 Jun 2015 15:14:00 -0000 From: Eli Zaretskii Subject: Re: Inadvertently run inferior threads In-reply-to: <557ECCA5.7050506@redhat.com> To: Pedro Alves Cc: gdb@sourceware.org Reply-to: Eli Zaretskii Message-id: <83vbepngxm.fsf@gnu.org> References: <83h9tq3zu3.fsf@gnu.org> <55043A63.6020103@redhat.com> <8361a339xd.fsf@gnu.org> <5504555C.804@redhat.com> <550458E0.10206@redhat.com> <83y4jrsgui.fsf@gnu.org> <557ECCA5.7050506@redhat.com> X-IsSubscribed: yes X-SW-Source: 2015-06/txt/msg00027.txt.bz2 > Date: Mon, 15 Jun 2015 14:01:25 +0100 > From: Pedro Alves > CC: gdb@sourceware.org > > > if (!tp->control.in_infcall) > > set_running (user_visible_resume_ptid (user_step), 1); > > > > it winds up calling 'set_running', because the in_infcall flag is set > > on the thread that called the inferior function, not on the thread > > which was started and triggered TARGET_WAITKIND_SPURIOUS. > > > > So 'set_running' is called, and it is called with minus_one_ptid, > > which then has the effect of marking all the threads as running. > > So that should mean that even for GNU/Linux, it should be possible > to end in the exact same, when any thread other than the one that we > had started the infcall in reports an event that doesn't cause a stop. > E.g., a thread specific breakpoint, a "handle nostop" signal, etc. Does that involve minus_one_ptid on GNU/Linux as well? If not, that call will not mark all threads as running, will it?