This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Make continuations per-thread.


A Friday 02 May 2008 12:34:11, Pedro Alves wrote:
> A Friday 02 May 2008 04:00:12, Daniel Jacobowitz wrote:
> > On Thu, Apr 24, 2008 at 07:45:38PM +0300, Vladimir Prus wrote:
> > > Right now, continuations are global. This means that if we're doing
> > > 'finish' in one thread, then we cannot do 'finish' or anything that
> > > also uses continuations, in any other thread. This seems unnecessary
> > > limitation, and this patch makes continuations per-thread.
> > >
> > > Further into non-stop series, it really allows me to do 'finish' or
> > > 'step' in several threads independently.
> > >
> > > OK?
> >
> > Could you explain why this is safe?  We will do continuations for the
> > thread which reports an event only.  So it seems like continuations
> > for other threads will linger in their struct thread.
> >
> > For example, if we finish from one thread and hit a breakpoint in
> > another thread before the finish returns.
>
> That's true.  Attached is what we have next on the non-stop
> series to fix that.  I'm not thrilled by it, but there are intermediate
> context switches in handle_inferior_event that make it much uglier to try
> to not make it centralized.  This is one of the things that gets much
> better looking when we switch completelly to always-a-thread, and
> get rid of context-switching.  I'm introducing another variable, instead of
> using previous_inferior_ptid, which would be a good candidate, but I have
> other plans for it.

Err, it doesn't fix all issues you mentioned.  I'll have to do a more than
this.

-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]