From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25120 invoked by alias); 10 May 2008 13:10:44 -0000 Received: (qmail 25108 invoked by uid 22791); 10 May 2008 13:10:43 -0000 X-Spam-Check-By: sourceware.org Received: from main.gmane.org (HELO ciao.gmane.org) (80.91.229.2) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 10 May 2008 13:10:08 +0000 Received: from root by ciao.gmane.org with local (Exim 4.43) id 1Juopv-0006me-0K for gdb-patches@sources.redhat.com; Sat, 10 May 2008 13:10:03 +0000 Received: from 78.158.192.230 ([78.158.192.230]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 10 May 2008 13:10:03 +0000 Received: from vladimir by 78.158.192.230 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 10 May 2008 13:10:03 +0000 To: gdb-patches@sources.redhat.com From: Vladimir Prus Subject: Re: [RFA] Report the main thread. Date: Sat, 10 May 2008 19:42:00 -0000 Message-ID: References: <18469.39280.284106.858072@kahikatea.snap.net.nz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit User-Agent: KNode/0.10.5 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: 2008-05/txt/msg00339.txt.bz2 Nick Roberts wrote: > >> Vladimir Prus wrote: > >>> Daniel Jacobowitz wrote: >>> >>>> On Sat, Apr 26, 2008 at 08:44:23PM +0400, Vladimir Prus wrote: >>>>> Will some approach that only produce MI output be fine with you? >>>> >>>> Perhaps that means any observer for a new MI thread should go in >>>> add_thread_silent? >>> >>> Yes, moving the observer call to add_thread_silent is the most >>> direct approach to make MI work the way I want without disturbing CLI. > >> Here's a patch to that effect. OK? > >> * thread.c (add_thread): Move observer call to ... >> (add_thread_silent): ... here. >> --- >> gdb/thread.c | 5 +++-- >> > 1 files changed, 3 insertions(+), 2 deletions(-) > >> diff --git a/gdb/thread.c b/gdb/thread.c >> index 46e6ba7..d3cfb32 100644 >> --- a/gdb/thread.c >> +++ b/gdb/thread.c >> @@ -124,6 +124,9 @@ add_thread_silent (ptid_t ptid) >> tp->num = ++highest_thread_num; >> tp->next = thread_list; >> thread_list = tp; >> + >> + observer_notify_new_thread (tp); >> + >> return tp; >> } > > > Now that Joel has requested that I use observer_attach_new_thread for > annotations this approach doesn't only produce MI output so it needs to > be conditioned on MI: > > @@ -124,6 +124,10 @@ add_thread_silent (ptid_t ptid) > tp->num = ++highest_thread_num; > tp->next = thread_list; > thread_list = tp; > + > + if (ui_out_is_mi_like_p (uiout)) > + observer_notify_new_thread (tp); This patch, IIUC, will cause the new_thread observer to be notified only in MI mode. Then, no observer except for MI one will ever be called? Then, why those non-MI observers exist? Or to put in other way, I think this patch will make you annotation observers to be never called. Is this what you want? - Volodya