* lin-lwp.c (stop_wait_callback): Remove bogus assertions in the

code that deals with exiting/signalled threads.  Replace with
code similar to what's done in lin_lwp_wait.
This commit is contained in:
Mark Kettenis 2000-09-18 13:09:12 +00:00
parent 9e75421134
commit e63286713f
2 changed files with 19 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2000-09-18 Mark Kettenis <kettenis@gnu.org>
* lin-lwp.c (stop_wait_callback): Remove bogus assertions in the
code that deals with exiting/signalled threads. Replace with
code similar to what's done in lin_lwp_wait.
2000-09-17 Kevin Buettner <kevinb@redhat.com>
* ppc-linux-nat.c (fill_gregset, fill_fpregset): New functions.

View File

@ -506,14 +506,19 @@ stop_wait_callback (struct lwp_info *lp, void *data)
if (WIFEXITED (status) || WIFSIGNALED (status))
{
gdb_assert (num_lwps > 1);
gdb_assert (! is_cloned (lp->pid));
gdb_assert (in_thread_list (lp->pid));
if (lp->pid != inferior_pid)
delete_thread (lp->pid);
printf_unfiltered ("[%s exited]\n",
target_pid_to_str (lp->pid));
if (in_thread_list (lp->pid))
{
/* Core GDB cannot deal with us deleting the current
thread. */
if (lp->pid != inferior_pid)
delete_thread (lp->pid);
printf_unfiltered ("[%s exited]\n",
target_pid_to_str (lp->pid));
}
#if DEBUG
printf ("%s exited.\n", target_pid_to_str (lp->pid));
#endif
delete_lwp (lp->pid);
return 0;
}
@ -708,7 +713,7 @@ lin_lwp_wait (int pid, struct target_waitstatus *ourstatus)
{
if (in_thread_list (lp->pid))
{
/* Core GDB cannot deal with us deeting the current
/* Core GDB cannot deal with us deleting the current
thread. */
if (lp->pid != inferior_pid)
delete_thread (lp->pid);