From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id wIGYOaKdFmHTGgAAWB0awg (envelope-from ) for ; Fri, 13 Aug 2021 12:28:18 -0400 Received: by simark.ca (Postfix, from userid 112) id EA23E1EA7E; Fri, 13 Aug 2021 12:28:18 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id A0AFE1EA7E for ; Fri, 13 Aug 2021 12:28:18 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 37B3F3969C1A for ; Fri, 13 Aug 2021 16:28:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 37B3F3969C1A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1628872098; bh=p3z0Pn4WlediKfGRd1AQnKPdKju2JYg6ng58+3ygyWE=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=C+wjf8U71QnrQs3vkohwZNYQolCwaDF/jUO83kKhEg0jmvYEJN9TpWKi7fPig4Aor aoyyILmUmqxZuuIDVH9cd7hNO2Tm2y+4Tn1BGEXUvseUJAhKErlDSRkCDs9pD7ZMik eEaqu4UQMdTONmzgItNVqXgZpTEIwCaRu9CiQCFc= Received: from jupiter.monnerat.net (jupiter.monnerat.net [46.226.111.226]) by sourceware.org (Postfix) with ESMTPS id 4469F3858025 for ; Fri, 13 Aug 2021 16:27:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4469F3858025 Received: from patrick.monnerat ([192.168.0.128]) by jupiter.monnerat.net (8.14.8/8.14.8) with ESMTP id 17DGRVZp008485 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=OK); Fri, 13 Aug 2021 18:27:36 +0200 DKIM-Filter: OpenDKIM Filter v2.10.3 jupiter.monnerat.net 17DGRVZp008485 Subject: Re: [PATCH] Notify observer of breakpoint auto-disabling To: Simon Marchi , gdb-patches@sourceware.org References: <20210813153131.54709-1-patrick@monnerat.net> Message-ID: <1f4c2f9c-a2ab-6981-82d2-3ab38f1bb3e3@monnerat.net> Date: Fri, 13 Aug 2021 18:27:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Patrick Monnerat via Gdb-patches Reply-To: Patrick Monnerat Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" On 8/13/21 5:45 PM, Simon Marchi wrote: > > On 2021-08-13 11:31 a.m., Patrick Monnerat via Gdb-patches wrote: >> As observer in currently notified of breakpoint stop before handling its >> auto-disabling after count is reached, the observer is never notified of >> the disabling. >> >> This patch moves the observer notification after the auto-disabling >> code. >> >> Fixes https://sourceware.org/bugzilla/show_bug.cgi?id=23336 >> >> * gdb/breakpoint.c (bpstat_stop_status): move observer notification >> after auto-disabling code. >> --- >> gdb/breakpoint.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c >> index 89af44ee4c6..feca224ccf4 100644 >> --- a/gdb/breakpoint.c >> +++ b/gdb/breakpoint.c >> @@ -5491,7 +5491,6 @@ bpstat_stop_status (const address_space *aspace, >> if (bs->stop) >> { >> ++(b->hit_count); >> - gdb::observers::breakpoint_modified.notify (b); >> >> /* We will stop here. */ >> if (b->disposition == disp_disable) >> @@ -5501,6 +5500,7 @@ bpstat_stop_status (const address_space *aspace, >> b->enable_state = bp_disabled; >> removed_any = 1; >> } >> + gdb::observers::breakpoint_modified.notify (b); >> if (b->silent) >> bs->print = 0; >> bs->commands = b->commands; >> > Is there some user-visible behavior change, that we could write a test for? With gdb alone, I don't think so. This impacts insight: the breakpoint GUI window does not refllect the disabling. No possible workaround here, since the observer is never notified again after breakpoint has been disabled (unless some user action on the later). As this is a GUI behavior, I don't think we can write a gdb test in this context. Patrick