From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23729 invoked by alias); 20 Jul 2011 15:15:40 -0000 Received: (qmail 23721 invoked by uid 22791); 20 Jul 2011 15:15:39 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 20 Jul 2011 15:15:25 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p6KFFP9k015028 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 20 Jul 2011 11:15:25 -0400 Received: from localhost.localdomain (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p6KFFOas006193; Wed, 20 Jul 2011 11:15:24 -0400 From: Phil Muldoon To: Tom Tromey Cc: gdb-patches@sourceware.org Subject: Re: [rfc] Prompt memory management/cleanups References: Reply-to: pmuldoon@redhat.com X-URL: http://www.redhat.com Date: Wed, 20 Jul 2011 15:21:00 -0000 In-Reply-To: (Tom Tromey's message of "Wed, 20 Jul 2011 08:58:45 -0600") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: 2011-07/txt/msg00537.txt.bz2 Tom Tromey writes: >>>>>> "Phil" == Phil Muldoon writes: > > Phil> While working on the Python patch to allow prompt substitution in > Phil> Python, I noticed that in some cases prompts were leaking memory. In > Phil> several cases, scenarios like: PROMPT (0) = xstrdup(someprompt), did not > Phil> xfree the prompt first. I decided to use functions calls to replace > Phil> access to PROMPT/SUFFIX/PREFIX so that memory management can be > Phil> performed centrally. Attached is a patch. I'd appreciate comments on > Phil> this; the testsuite shows no regressions, but my knowledge of the prompt > Phil> area of GDB is about three days old. I'd especially like comments on the > Phil> acceptance on NULL in the set_prompt/prefix/suffix functions. Pop/push > Phil> prompt uses different prompt levels and requires that, after use, they > Phil> are cleaned. It normally just does this with xfree. I'm unsure if my > Phil> API for that scenario is preferable. > > The patch seems fine, but I have a few questions. > > Does anything ever set the prefix or suffix to a non-empty value? > I couldn't find an instance. So how about just removing all this stuff > instead? The only use I can find is "", which may have meaning to the annotations stuff. This seems unlikely to me too. If we think nobody uses it or is likely to use it in the future, we can declare those elements dead, and just remove them? > Do we still need the PROMPT, PREFIX, and SUFFIX defines in event-top.h? No. They should not be accessible except from top.c and event-top.c anymore. So I will remove them. Cheers, Phil