This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH]:annotations [was Re: [patch:MI] Observer for thread-changed]


On 10 Jun 2008 15:12:46 +1200 Nick Roberts writes:

 >  > > If it goes at the end of do_captured_thread_select then I guess that
 >  > > will be after any exceptions but, to me, putting the logic in
 >  > > gdb_thread_select makes it clearer that the thread only gets reported
 >  > > when there is no exception.
 >  > 
 >  > I think it's clearer to put the observer close to where to switch is
 >  > performed.  Plus, if/when we remove libgdb and the wrapper, we have again
 >  > to move the observer call... Not the end of the world, but might as well
 >  > put it in the right place now, IMHO.  Oh well, opinions :-)
 > 
 > Seems reasonable.  I'll do that.

Ping.

 > -- 
 > Nick                                           http://www.inet.net.nz/~nickrob
 > 
 > 
 > --- thread.c	09 Jun 2008 21:06:46 +1200	1.71
 > +++ thread.c	10 Jun 2008 15:11:13 +1200	
 > @@ -738,7 +738,6 @@ thread_command (char *tidstr, int from_t
 >        return;
 >      }
 >  
 > -  annotate_thread_changed ();
 >    gdb_thread_select (uiout, tidstr, NULL);
 >  }
 >  
 > @@ -770,6 +769,8 @@ do_captured_thread_select (struct ui_out
 >      error (_("Thread ID %d has terminated."), num);
 >  
 >    switch_to_thread (tp->ptid);
 > +  observer_notify_thread_changed ();
 > +  annotate_thread_changed ();
 >  
 >    ui_out_text (uiout, "[Switching to thread ");
 >    ui_out_field_int (uiout, "new-thread-id", pid_to_thread_id (inferior_ptid));
 > 

Vladimir has created his own notifications for thread changes now, so that
part is no longer relevant but moving the call to annotate_thread_changed
still is.

-- 
Nick                                           http://www.inet.net.nz/~nickrob


2009-01-17  Nick Roberts  <nickrob@snap.net.nz>

	* thread.c (thread_command): Don't print an annotation if the
          thread change generate an exception.



Index: thread.c
===================================================================
RCS file: /cvs/src/src/gdb/thread.c,v
retrieving revision 1.99
diff -p -u -p -r1.99 thread.c
--- thread.c	3 Jan 2009 05:57:53 -0000	1.99
+++ thread.c	16 Jan 2009 23:58:47 -0000
@@ -1045,7 +1045,6 @@ thread_command (char *tidstr, int from_t
       return;
     }
 
-  annotate_thread_changed ();
   gdb_thread_select (uiout, tidstr, NULL);
 }
 
@@ -1078,6 +1077,8 @@ do_captured_thread_select (struct ui_out
 
   switch_to_thread (tp->ptid);
 
+  annotate_thread_changed ();
+
   ui_out_text (uiout, "[Switching to thread ");
   ui_out_field_int (uiout, "new-thread-id", pid_to_thread_id (inferior_ptid));
   ui_out_text (uiout, " (");


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]