OSDN Git Service

* bsd-uthread.c (bsd_uthread_close): New.
authorpalves <palves>
Mon, 18 Aug 2008 23:24:57 +0000 (23:24 +0000)
committerpalves <palves>
Mon, 18 Aug 2008 23:24:57 +0000 (23:24 +0000)
(bsd_uthread_deactivate): Don't cleanup here, just unpush the
target.
(bsd_uthread_solib_loaded): Fix typo.
(bsd_uthread_target): Register bsd_uthread_close.

gdb/ChangeLog
gdb/bsd-uthread.c

index 91bc692..b201340 100644 (file)
@@ -1,5 +1,13 @@
 2008-08-18  Pedro Alves  <pedro@codesourcery.com>
 
+       * bsd-uthread.c (bsd_uthread_close): New.
+       (bsd_uthread_deactivate): Don't cleanup here, just unpush the
+       target.
+       (bsd_uthread_solib_loaded): Fix typo.
+       (bsd_uthread_target): Register bsd_uthread_close.
+
+2008-08-18  Pedro Alves  <pedro@codesourcery.com>
+
        * corelow.c (core_open): Assume there was no upper layer left
        behind from a previous inferior.
        * target.c (pop_all_targets): Rename to ...
index a15c78f..df038e6 100644 (file)
@@ -192,18 +192,12 @@ bsd_uthread_activate (struct objfile *objfile)
   return 1;
 }
 
-/* Deactivate the thread stratum implemented by this module.  */
+/* Cleanup due to deactivation.  */
 
 static void
-bsd_uthread_deactivate (void)
+bsd_uthread_close (int quitting)
 {
-  /* Skip if the thread stratum has already been deactivated.  */
-  if (!bsd_uthread_active)
-    return;
-
   bsd_uthread_active = 0;
-  unpush_target (bsd_uthread_ops_hack);
-
   bsd_uthread_thread_run_addr = 0;
   bsd_uthread_thread_list_addr = 0;
   bsd_uthread_thread_state_offset = 0;
@@ -212,6 +206,18 @@ bsd_uthread_deactivate (void)
   bsd_uthread_solib_name = NULL;
 }
 
+/* Deactivate the thread stratum implemented by this module.  */
+
+static void
+bsd_uthread_deactivate (void)
+{
+  /* Skip if the thread stratum has already been deactivated.  */
+  if (!bsd_uthread_active)
+    return;
+
+  unpush_target (bsd_uthread_ops_hack);
+}
+
 void
 bsd_uthread_inferior_created (struct target_ops *ops, int from_tty)
 {
@@ -239,7 +245,7 @@ bsd_uthread_solib_loaded (struct so_list *so)
 
          if (bsd_uthread_activate (so->objfile))
            {
-             bsd_uthread_solib_name == so->so_original_name;
+             bsd_uthread_solib_name = so->so_original_name;
              return;
            }
        }
@@ -490,6 +496,7 @@ bsd_uthread_target (void)
   t->to_shortname = "bsd-uthreads";
   t->to_longname = "BSD user-level threads";
   t->to_doc = "BSD user-level threads";
+  t->to_close = bsd_uthread_close;
   t->to_mourn_inferior = bsd_uthread_mourn_inferior;
   t->to_fetch_registers = bsd_uthread_fetch_registers;
   t->to_store_registers = bsd_uthread_store_registers;