aboutsummaryrefslogtreecommitdiff
path: root/gdb/linux-thread-db.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2008-03-25 12:26:21 +0000
committerPedro Alves <palves@redhat.com>2008-03-25 12:26:21 +0000
commit403fe1979f7a9e128d3904731e709fadbf60ea81 (patch)
tree527a2add5ace4f83bc53ef19773a830bf1983af1 /gdb/linux-thread-db.c
parent710151dda51c86ee63e65409f87ad3b0ccc54936 (diff)
downloadgdb-403fe1979f7a9e128d3904731e709fadbf60ea81.zip
gdb-403fe1979f7a9e128d3904731e709fadbf60ea81.tar.gz
gdb-403fe1979f7a9e128d3904731e709fadbf60ea81.tar.bz2
* linux-nat.c (linux_nat_attach): Add the pid we attached to, to
gdb's thread list. (linux_nat_wait): Add main lwp to gdb's thread list. * linux-thread-db.c (find_new_threads_callback): Also attach to already listed threads which thread_db didn't know about yet.
Diffstat (limited to 'gdb/linux-thread-db.c')
-rw-r--r--gdb/linux-thread-db.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index 534c9b9..8ac9818 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -918,6 +918,7 @@ find_new_threads_callback (const td_thrhandle_t *th_p, void *data)
td_thrinfo_t ti;
td_err_e err;
ptid_t ptid;
+ struct thread_info *tp;
err = td_thr_get_info_p (th_p, &ti);
if (err != TD_OK)
@@ -945,7 +946,8 @@ find_new_threads_callback (const td_thrhandle_t *th_p, void *data)
return 0;
}
- if (!in_thread_list (ptid))
+ tp = find_thread_pid (ptid);
+ if (tp == NULL || tp->private == NULL)
attach_thread (ptid, th_p, &ti);
return 0;