diff options
author | Pedro Alves <pedro@codesourcery.com> | 2008-08-18 23:24:57 +0000 |
---|---|---|
committer | Pedro Alves <pedro@codesourcery.com> | 2008-08-18 23:24:57 +0000 |
commit | b28f276162b56f8479240982edd3c49382104222 (patch) | |
tree | 5e76c7e7f5a3a2c19086609a5dcd83a2eac2425a /gdb/bsd-uthread.c | |
parent | 3db54b199473ba136a4821c420f85096ff17e98e (diff) | |
download | gdb-b28f276162b56f8479240982edd3c49382104222.tar.gz |
* 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.
Diffstat (limited to 'gdb/bsd-uthread.c')
-rw-r--r-- | gdb/bsd-uthread.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/gdb/bsd-uthread.c b/gdb/bsd-uthread.c index a15c78f2158..df038e6771e 100644 --- a/gdb/bsd-uthread.c +++ b/gdb/bsd-uthread.c @@ -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; |