This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH] detaching and threaded linux apps
On Mon, Jun 03, 2002 at 11:53:03PM +0200, Mark Kettenis wrote:
>
> The fact that thread_db_detach and lin_lwp_detach don't unpush their
> targect vector is intentional. The target vector is installed as a
> result of loading the thread library, not (necessarily) as a result of
> attaching to a threaded application. Therefore is should only be
> uninstalled if the thread library is unloaded. The right wat of
> fixing this would be to prevent the assertion being triggered if
> num_lwps == 0. Explicitly checking for this condition and displaying
> an error message in lin_lwp_detach() might be sufficient.
Ok. I see exactly what's going on now. Returning from lin_lwp_detach
when there are no lwps works as expected. I don't think that displaying
an error message is neccessary - the behaviour of detach remains
consistent.
Liam
--
Liam Stewart :: Red Hat Canada, Ltd. :: liams@redhat.com
2002-06-04 Liam Stewart <liams@redhat.com>
* lin-lwp.c (lin_lwp_detach): Don't attempt to detach if there
* are no lwps.
Index: lin-lwp.c
===================================================================
RCS file: /cvs/src/src/gdb/lin-lwp.c,v
retrieving revision 1.34
diff -c -p -r1.34 lin-lwp.c
*** lin-lwp.c 31 Mar 2002 15:10:38 -0000 1.34
--- lin-lwp.c 4 Jun 2002 15:32:03 -0000
*************** detach_callback (struct lwp_info *lp, vo
*** 482,487 ****
--- 482,490 ----
static void
lin_lwp_detach (char *args, int from_tty)
{
+ if (num_lwps == 0)
+ return;
+
iterate_over_lwps (detach_callback, NULL);
/* Only the initial process should be left right now. */