From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1080 invoked by alias); 13 Dec 2014 16:28:00 -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 1071 invoked by uid 89); 13 Dec 2014 16:27:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Sat, 13 Dec 2014 16:27:58 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 212A411643D; Sat, 13 Dec 2014 11:27:57 -0500 (EST) 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 TMRHTsJJuQCw; Sat, 13 Dec 2014 11:27:57 -0500 (EST) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 0958611643B; Sat, 13 Dec 2014 11:27:57 -0500 (EST) Received: by joel.gnat.com (Postfix, from userid 1000) id DF4DC40164; Sat, 13 Dec 2014 11:27:57 -0500 (EST) Date: Sat, 13 Dec 2014 16:28:00 -0000 From: Joel Brobecker To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [RFA/Linux] Ask kernel to kill inferior when GDB terminates Message-ID: <20141213162757.GL5457@adacore.com> References: <1415984034-27122-1-git-send-email-brobecker@adacore.com> <54663729.6010708@redhat.com> <20141114173255.GD5774@adacore.com> <20141119092547.GP5774@adacore.com> <546C69D4.5090300@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <546C69D4.5090300@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2014-12/txt/msg00321.txt.bz2 > >>> I could see this making some sense when GDB has spawned the process, > >>> but it seems harsh when GDB has attached to the process instead > >>> of spawning it? [...] > > I will adapt my patch when I have a moment. Just took a look, and it's not clear to me what the best way to do that might me. For native GDB, it'd be fairly easy, if I could just add an "attaching_p" parameter to "linux_enable_event_reporting", then I could just mask PTRACE_O_EXITKILL out if nonzero. In linux-nat.c, it's fairly easy to provide that info. However, things are not so clear in the gdbserver case, because linux_enable_event_reporting is performed during the event handling conditional on child->must_set_ptrace_flags: if (WIFSTOPPED (wstat) && child->must_set_ptrace_flags) { linux_enable_event_reporting (lwpid); child->must_set_ptrace_flags = 0; } I think the only clean way to do this would be to add another field in struct lwp_info such as "attaching_p" which we would set to 1 in the attaching case only. Does this seem reasonable? Thanks, -- Joel