From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9039 invoked by alias); 9 Aug 2008 14:53:18 -0000 Received: (qmail 9030 invoked by uid 22791); 9 Aug 2008 14:53:18 -0000 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 09 Aug 2008 14:52:43 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id F3DE82A9757; Sat, 9 Aug 2008 10:52:41 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id nuh+8F99XdGh; Sat, 9 Aug 2008 10:52:41 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id C48812A9755; Sat, 9 Aug 2008 10:52:40 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 6DBABE7ACD; Sat, 9 Aug 2008 16:52:33 +0200 (CEST) Date: Sat, 09 Aug 2008 14:53:00 -0000 From: Joel Brobecker To: John David Anglin Cc: pedro@codesourcery.com, gdb-patches@sourceware.org Subject: Re: ttrace: Protocal error Message-ID: <20080809145233.GE4936@adacore.com> References: <20080808192932.0E0354EBE@hiauly1.hia.nrc.ca> <20080808201457.3064B4EBE@hiauly1.hia.nrc.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080808201457.3064B4EBE@hiauly1.hia.nrc.ca> User-Agent: Mutt/1.4.2.2i 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 X-SW-Source: 2008-08/txt/msg00241.txt.bz2 > 2008-08-08 John David Anglin > > * inf-ttrace.c (inf_ttrace_resume_callback): Don't resume dying thread. That looks OK, but did you check the effect on the testsuite results? I want to make sure that we're not causing a program to hang at the end just because a dying thread wasn't allowed to die. Also, I wonder why we're deleting the "dying" threads from the thread list at resume time: static void inf_ttrace_resume (ptid_t ptid, int step, enum target_signal signal) { [...] if (ptid_equal (ptid, minus_one_ptid) && inf_ttrace_num_lwps > 0) { /* Let all the other threads run too. */ iterate_over_threads (inf_ttrace_resume_callback, NULL); iterate_over_threads (inf_ttrace_delete_dying_threads_callback, NULL); } } -- Joel