Re: Regression for T (Stopped) processes [Re: [PATCH] PR threads/10729: x86 hw watchpoints and non-stop mode]

Pedro Alves
2011-12-15T08:48:00Z

On Thursday 15 December 2011 06:20:13, Jan Kratochvil wrote:
> On Wed, 14 Dec 2011 18:34:43 +0100, Pedro Alves wrote:
> > --- a/gdb/gdbserver/linux-low.c
> > +++ b/gdb/gdbserver/linux-low.c
> > @@ -918,6 +918,8 @@ linux_detach_one_lwp (struct inferior_list_entry *entry, void *args)
> > get_lwp_thread (lwp));
> >
> > /* Finally, let it resume. */
> > + if (the_low_target.prepare_to_resume != NULL)
> > + the_low_target.prepare_to_resume (lwp);
> > ptrace (PTRACE_DETACH, lwpid_of (lwp), 0, 0);
> >
> > delete_lwp (lwp);
>
> If you have T (Stopped) process on Linux kernel 3.1+, you do attach,
> bt/gcore/etc., detach, the state of the process must not change.
> But the process will now run for a bit.

I'm confused. Why does it run for a bit now? prepare_to_resume should
not, and AFAICS, does not, actually resume.

>
> This is a regression. Some users really insist the T (Stopped) inferior state
> absolutely does not change.
>
>
> Thanks,
> Jan
>

--
Pedro Alves