This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
lin-lwp and exiting threads
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: gdb-patches at sources dot redhat dot com, jjohnstn at redhat dot com
- Date: Tue, 26 Aug 2003 13:51:35 -0400
- Subject: lin-lwp and exiting threads
Hi Jeff,
I'm doing some work in lin-lwp.c and I saw this bit you recently committed:
+ /* Check if the current LWP has previously exited. For nptl threads,
+ there is no exit signal issued for LWPs that are not the
+ main thread so we should check whenever the thread is stopped. */
+ if (!lin_lwp_thread_alive (lp->ptid))
+ {
+ if (in_thread_list (lp->ptid))
+ {
+ /* Core GDB cannot deal with us deleting the current
+ thread. */
+ if (!ptid_equal (lp->ptid, inferior_ptid))
+ delete_thread (lp->ptid);
+ printf_unfiltered ("[%s exited]\n",
+ target_pid_to_str (lp->ptid));
+ }
+ if (debug_lin_lwp)
+ fprintf_unfiltered (gdb_stdlog,
+ "SWC: %s already exited.\n",
target_pid_to_str (lp->ptid));
This is right after waitpid has returned a non-exiting stopped status for
lp->ptid. Were you just being thorough, or do you have some reason to
believe that waitpid would ever return WIFSTOPPED (status) and yet the
thread would be dead?
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer