diff options
author | Pedro Alves <palves@redhat.com> | 2008-12-28 16:14:57 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2008-12-28 16:14:57 +0000 |
commit | 7a7d33537f13d7556f60efb202b0895712e8ad7d (patch) | |
tree | 67cad6faf375248f4f5a93e38872f4cd1ef55367 /gdb/linux-thread-db.c | |
parent | 262452ec451590e24be1f034f4fe7fad92eefa9a (diff) | |
download | binutils-gdb-7a7d33537f13d7556f60efb202b0895712e8ad7d.tar.gz |
* linux-fork.c (linux_fork_detach): New.
* linux-fork.h (linux_fork_detach): Declare.
* linux-nat.c (linux_child_follow_fork): When following the fork
child, add the child inferior before possibly detaching from the
parent. Don't reinstall ourselves.
(linux_nat_detach): Call linux_fork_detach if there are other
forks to debug.
* linux-thread-db.c (thread_db_detach): Don't call
target_mourn_inferior. Instead inline the necessary bits.
* inf-ptrace.c (inf_ptrace_detach): Don't unpush the target if
there are other inferiors to debug.
Diffstat (limited to 'gdb/linux-thread-db.c')
-rw-r--r-- | gdb/linux-thread-db.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c index cf0dd6a8ff5..4bed21824f3 100644 --- a/gdb/linux-thread-db.c +++ b/gdb/linux-thread-db.c @@ -784,10 +784,15 @@ thread_db_detach (struct target_ops *ops, char *args, int from_tty) { disable_thread_event_reporting (); - target_beneath->to_detach (target_beneath, args, from_tty); + /* Forget about the child's process ID. We shouldn't need it + anymore. */ + proc_handle.pid = 0; - /* Should this be done by detach_command? */ - target_mourn_inferior (); + /* Detach thread_db target ops. */ + unpush_target (&thread_db_ops); + using_thread_db = 0; + + target_beneath->to_detach (target_beneath, args, from_tty); } /* Check if PID is currently stopped at the location of a thread event |