From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5963 invoked by alias); 28 Oct 2013 16:37:23 -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 5881 invoked by uid 89); 28 Oct 2013 16:37:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.6 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 28 Oct 2013 16:37:21 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r9SGbJVO028812 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 28 Oct 2013 12:37:20 -0400 Received: from barimba (ovpn-113-94.phx2.redhat.com [10.3.113.94]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r9SGbI1u022191 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 28 Oct 2013 12:37:19 -0400 From: Tom Tromey To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [PATCH v4 2/9] add "this" pointers to more target APIs References: <1382464769-2465-1-git-send-email-tromey@redhat.com> <1382464769-2465-3-git-send-email-tromey@redhat.com> <526E8AF2.7050202@redhat.com> Date: Mon, 28 Oct 2013 16:37:00 -0000 In-Reply-To: <526E8AF2.7050202@redhat.com> (Pedro Alves's message of "Mon, 28 Oct 2013 16:04:02 +0000") Message-ID: <87r4b5cpxd.fsf@fleche.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2013-10/txt/msg00866.txt.bz2 >>>>> "Pedro" == Pedro Alves writes: Pedro> On 10/22/2013 06:59 PM, Tom Tromey wrote: >> @@ -4758,8 +4756,8 @@ static void >> linux_nat_close (void) >> { >> /* Unregister from the event loop. */ >> - if (linux_nat_is_async_p ()) >> - linux_nat_async (NULL, 0); >> + if (linux_nat_is_async_p (linux_ops)) >> + linux_nat_async (linux_ops, NULL, 0); Pedro> It doesn't matter much since linux_nat_async doesn't use it's Pedro> argument, but FYI, this one here doesn't look 100% correct. Pedro> "linux_ops" is the single-threaded target linux-nat itself Pedro> delegates some work to (it's never pushed anywhere, etc.). Pedro> Ideally, to_close would be passed in a "this" pointer too. The multi-target branch has a more invasive transformation of the target API. It doesn't add a this pointer to to_close, but it does implement a target_ops / target object split, and it changes more targets to use to_xclose, which does take a "this". In this particular spot, I don't remember why I used linux_ops. It is all moot, I think. There is no reason for linux-nat to ever call linux_nat_is_async_p any more. I think we can drop all the dead code instead. I noted this in the first submission and said I will do it in a followup; but I think I'll just tack it on to this series instead. >> static int >> -record_full_stopped_by_watchpoint (void) >> +record_full_stopped_by_watchpoint (struct target_ops *ops) >> { >> if (RECORD_FULL_IS_REPLAY) >> return record_full_hw_watchpoint; >> else >> - return record_full_beneath_to_stopped_by_watchpoint (); >> + return record_full_beneath_to_stopped_by_watchpoint (find_target_beneath (ops)); >> } >> Pedro> Line too long. Fixed. Tom