GC gdb/thread.c:current_thread_cleanup_chain
authorPedro Alves <palves@redhat.com>
Mon, 10 Apr 2017 14:18:49 +0000 (15:18 +0100)
committerPedro Alves <palves@redhat.com>
Mon, 10 Apr 2017 14:18:49 +0000 (15:18 +0100)
Commit 803bdfe43083475c7df3db38dc96f4e20d05457d ("Don't delete
thread_info if refcount isn't zero") eliminated
restore_current_thread_ptid_changed, so current_thread_cleanup_chain
is no longer necessary either.

gdb/ChangeLog:
2017-04-10  Pedro Alves  <palves@redhat.com>

* thread.c (struct current_thread_cleanup) <next>: Delete field.
(current_thread_cleanup_chain): Delete.
(restore_current_thread_cleanup_dtor)
(make_cleanup_restore_current_thread): Remove references to
current_thread_cleanup_chain.

gdb/ChangeLog
gdb/thread.c

index 3cb6cd735922cf4acd604123b3361f59d9c99048..5e7736e44cbd7c9ecc2b1b61f498ff3747774327 100644 (file)
@@ -1,3 +1,11 @@
+2017-04-10  Pedro Alves  <palves@redhat.com>
+
+       * thread.c (struct current_thread_cleanup) <next>: Delete field.
+       (current_thread_cleanup_chain): Delete.
+       (restore_current_thread_cleanup_dtor)
+       (make_cleanup_restore_current_thread): Remove references to
+       current_thread_cleanup_chain.
+
 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
 
        * msp430-tdep.c (msp430_pseudo_register_read): Never return
index 2d936cd1428ab48a35163081ae3552c62d1a4d66..3aca30757c67dfa4203b765afd190ad8ca994efc 100644 (file)
@@ -1549,11 +1549,6 @@ restore_selected_frame (struct frame_id a_frame_id, int frame_level)
 
 struct current_thread_cleanup
 {
-  /* Next in list of currently installed 'struct
-     current_thread_cleanup' cleanups.  See
-     'current_thread_cleanup_chain' below.  */
-  struct current_thread_cleanup *next;
-
   thread_info *thread;
   struct frame_id selected_frame_id;
   int selected_frame_level;
@@ -1562,13 +1557,6 @@ struct current_thread_cleanup
   int was_removable;
 };
 
-/* A chain of currently installed 'struct current_thread_cleanup'
-   cleanups.  Restoring the previously selected thread looks up the
-   old thread in the thread list by ptid.  If the thread changes ptid,
-   we need to update the cleanup's thread structure so the look up
-   succeeds.  */
-static struct current_thread_cleanup *current_thread_cleanup_chain;
-
 static void
 do_restore_current_thread_cleanup (void *arg)
 {
@@ -1609,8 +1597,6 @@ restore_current_thread_cleanup_dtor (void *arg)
   struct thread_info *tp;
   struct inferior *inf;
 
-  current_thread_cleanup_chain = current_thread_cleanup_chain->next;
-
   if (old->thread != NULL)
     old->thread->decref ();
 
@@ -1642,9 +1628,6 @@ make_cleanup_restore_current_thread (void)
   old->inf_id = current_inferior ()->num;
   old->was_removable = current_inferior ()->removable;
 
-  old->next = current_thread_cleanup_chain;
-  current_thread_cleanup_chain = old;
-
   if (!ptid_equal (inferior_ptid, null_ptid))
     {
       struct frame_info *frame;