aboutsummaryrefslogtreecommitdiff
path: root/gdb/bsd-uthread.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2008-09-08 21:37:01 +0000
committerPedro Alves <palves@redhat.com>2008-09-08 21:37:01 +0000
commit757f359dd1a926e78902b65e2b19e4c9bb96844a (patch)
treeb71b52e13a04161bc88c3c421b47fc422117cfaf /gdb/bsd-uthread.c
parent0de3b513a4e23127727d27eb0a1d8804ac9f3c3e (diff)
downloadgdb-757f359dd1a926e78902b65e2b19e4c9bb96844a.zip
gdb-757f359dd1a926e78902b65e2b19e4c9bb96844a.tar.gz
gdb-757f359dd1a926e78902b65e2b19e4c9bb96844a.tar.bz2
* bsd-uthread.c (bsd_uthread_find_new_threads): Claim the main
thread.
Diffstat (limited to 'gdb/bsd-uthread.c')
-rw-r--r--gdb/bsd-uthread.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gdb/bsd-uthread.c b/gdb/bsd-uthread.c
index b6a18f0..93198d3 100644
--- a/gdb/bsd-uthread.c
+++ b/gdb/bsd-uthread.c
@@ -422,7 +422,15 @@ bsd_uthread_find_new_threads (void)
ptid_t ptid = ptid_build (pid, 0, addr);
if (!in_thread_list (ptid) || is_exited (ptid))
- add_thread (ptid);
+ {
+ /* If INFERIOR_PTID doesn't have a tid member yet, then ptid
+ is still the initial thread of the process. Notify GDB
+ core about it. */
+ if (ptid_get_tid (inferior_ptid) == 0)
+ thread_change_ptid (inferior_ptid, ptid);
+ else
+ add_thread (ptid);
+ }
addr = read_memory_typed_address (addr + offset,
builtin_type_void_data_ptr);