From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19236 invoked by alias); 22 Dec 2010 12:10:42 -0000 Received: (qmail 19228 invoked by uid 22791); 22 Dec 2010 12:10:41 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 22 Dec 2010 12:10:34 +0000 Received: (qmail 11163 invoked from network); 22 Dec 2010 12:10:32 -0000 Received: from unknown (HELO orlando.localnet) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 22 Dec 2010 12:10:32 -0000 From: Pedro Alves To: Marc Khouzam Subject: Re: segfault: what should happen when I remove an inferior that is running? Date: Wed, 22 Dec 2010 12:10:00 -0000 User-Agent: KMail/1.13.5 (Linux/2.6.33-29-realtime; KDE/4.4.5; x86_64; ; ) Cc: Tom Tromey , "gdb-patches@sourceware.org" References: <201012141523.51109.pedro@codesourcery.com> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201012221210.30198.pedro@codesourcery.com> X-IsSubscribed: yes 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: 2010-12/txt/msg00394.txt.bz2 On Saturday 18 December 2010 02:46:39, Marc Khouzam wrote: > From: Pedro Alves [pedro@codesourcery.com] > Sent: December 14, 2010 10:23 AM > > > On Tuesday 14 December 2010 15:08:31, Tom Tromey wrote: > > > Removes the inferior INFNO. It is not possible to remove an > > > inferior that is running with this command. > > > > > > I think this means we are missing an error check somewhere. > > > > Yeah. I guess we could also offer to kill it or some such, > > but I guess I must have thought that it'd be simpler to > > just error out. (either way, the user needs to take further > > action, so erroring out is simpler.) > > This patch errors out for 'remove-inferior' and '-remove-inferior' > if the inferior still has a pid. > > No regressions. > > If it is ok, please let me know if you want it only in HEAD or > also in 7_2. "running inferior" will sound a bit odd for cores, but, since I don't have a better suggestion that wouldn't involve more coding, this is okay with me (HEAD and 7_2). > > Thanks > > Marc > > 2010-12-17 Marc Khouzam > > * inferior.c (remove_inferior_command): Don't remove a running inferior. > * mi/mi-main.c (mi_cmd_remove_inferior): Ditto. > > ### Eclipse Workspace Patch 1.0 > #P src > Index: gdb/inferior.c > =================================================================== > RCS file: /cvs/src/src/gdb/inferior.c,v > retrieving revision 1.20 > diff -u -r1.20 inferior.c > --- gdb/inferior.c 28 Nov 2010 04:31:24 -0000 1.20 > +++ gdb/inferior.c 18 Dec 2010 02:39:50 -0000 > @@ -755,6 +755,9 @@ > if (inf == current_inferior ()) > error (_("Can not remove current symbol inferior.")); > > + if (inf->pid != 0) > + error (_("Can not remove a running inferior.")); > + > delete_inferior_1 (inf, 1); > } > > Index: gdb/mi/mi-main.c > =================================================================== > RCS file: /cvs/src/src/gdb/mi/mi-main.c,v > retrieving revision 1.184 > diff -u -r1.184 mi-main.c > --- gdb/mi/mi-main.c 18 Dec 2010 02:10:05 -0000 1.184 > +++ gdb/mi/mi-main.c 18 Dec 2010 02:39:50 -0000 > @@ -1772,6 +1772,9 @@ > if (!inf) > error ("the specified thread group does not exist"); > > + if (inf->pid != 0) > + error ("can not remove a running inferior"); > + > if (inf == current_inferior ()) > { > struct thread_info *tp = 0; >