From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 125733 invoked by alias); 17 Sep 2018 05:31:22 -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 125577 invoked by uid 89); 17 Sep 2018 05:31:00 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:905 X-HELO: gateway24.websitewelcome.com Received: from gateway24.websitewelcome.com (HELO gateway24.websitewelcome.com) (192.185.51.253) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 17 Sep 2018 05:30:59 +0000 Received: from cm12.websitewelcome.com (cm12.websitewelcome.com [100.42.49.8]) by gateway24.websitewelcome.com (Postfix) with ESMTP id DDD8D4666D for ; Mon, 17 Sep 2018 00:30:57 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id 1m7FgzxWVSjJA1m7SgbNLG; Mon, 17 Sep 2018 00:30:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=WNs67CLutt0Cn4GgSXVXkozrS20pP3mi49muLTOHEtw=; b=sr07FSUzn1o+dm7h274aC+nBkj vw58rpC0Hf+7+cB00VFLp7z7iUBFIClf+odfAov72ueyG+eA0eglCWwwQp7gydtcgpEauxHm04xcP if5EQR4ZVdbMBvHeqtbsi8iUX; Received: from 97-122-190-66.hlrn.qwest.net ([97.122.190.66]:48088 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1g1m7F-0033mR-6P; Mon, 17 Sep 2018 00:30:33 -0500 From: Tom Tromey To: Simon Marchi Cc: Tom Tromey , gdb-patches@sourceware.org Subject: Re: [PATCH 3/4] Change thread_to_thread_object to return a new reference References: <20180913053007.11780-1-tom@tromey.com> <20180913053007.11780-4-tom@tromey.com> <38dedd0d-1f03-eb7d-84a6-15cdc29e8ea2@simark.ca> <875zz5pmg8.fsf@tromey.com> <03a3606359da188a8100201c7dfae823@simark.ca> Date: Mon, 17 Sep 2018 05:31:00 -0000 In-Reply-To: <03a3606359da188a8100201c7dfae823@simark.ca> (Simon Marchi's message of "Sun, 16 Sep 2018 20:52:29 -0400") Message-ID: <87d0tcoflz.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-09/txt/msg00558.txt.bz2 >>>>> "Simon" == Simon Marchi writes: Simon> On 2018-09-16 10:05, Tom Tromey wrote: >> I re-read all of this and I think thread_to_thread_object has a latent >> bug. It can return NULL early due to an error: >> >> gdbpy_ref inf_obj (inferior_to_inferior_object >> (thr->inf)); >> if (inf_obj == NULL) >> return NULL; >> >> or it can return NULL at the end meaning "thread not found". Simon> I am not sure how these two mode of failure differ. Don't we expect Simon> the passed thread_info object to always be valid, and therefore both Simon> cases returning NULL would be an internal GDB logic error? I just meant that the difference here is whether or not the Python exception is set -- that this function isn't following the normal, simple convention here, but that I think it should. Tom