Re: [3/7] Adjust the bsd-uthread target

Mark Kettenis
2008-08-08T21:57:02Z

> From: Pedro Alves <pedro@codesourcery.com>
> Date: Fri, 8 Aug 2008 02:36:03 +0100
>
> This patch adjusts the bsd-uthread target to use thread_change_ptid,
> and to never let the core see an event happen in a thread not in
> the thread table.
>
> Tested on i386-unknown-freebsd6.0 with a little hack in the
> testsuite to link the gdb.thread tests against -lc_r instead
> of -lpthread, and on i386-unknown-openbsd4.3, where no hack is
> needed.
>
> This patch depends on patch 1 and 2.
>
> OK?
>
> Index: src/gdb/bsd-uthread.c
> ===================================================================
> --- src.orig/gdb/bsd-uthread.c 2008-07-29 12:06:38.000000000 +0100
> +++ src/gdb/bsd-uthread.c 2008-07-29 12:17:34.000000000 +0100
> @@ -413,7 +415,7 @@ bsd_uthread_find_new_threads (void)
> {
> ptid_t ptid = ptid_build (pid, 0, addr);
>
> - if (!in_thread_list (ptid))
> + if (!in_thread_list (ptid) || is_exited (ptid))
> add_thread (ptid);

This doesn't make sense to me. You're adding a threadhere that's no
longer there?