RE: Two threads hitting the same break

Paul Koning
2010-03-18T20:09:14Z

Never mind, I misread a test. It looks like the Linux code does behave
the way I want. Sorry for the confusion, and thanks for the help.

paul

> -----Original Message-----
> From: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On
> Behalf Of Paul Koning
> Sent: Thursday, March 18, 2010 4:02 PM
> To: Pedro Alves; gdb@sourceware.org
> Subject: RE: Two threads hitting the same break
>
> Thanks.
>
> I'm not sure about using that model -- it doesn't behave in an
> intuitive
> fashion.
>
> If I have two threads that hit the same break at the same time, I
would
> expect to see both breaks. The Linux code tosses one of them. Given
> how it picks threads to report, the next time the two threads hit a
> break, the one that wasn't reported the first time will be reported
> this
> time. But the net result is that I only see a portion of the breaks
--
> half of them if there are two threads.
>
> Consider a test case of the form
> - print something
> - wait a bit
> - repeat
>
> If I set a break in that loop and keep hitting continue, I see one
> break
> per pass through the loop even if there are two threads executing this
> loop. I'm not sure why the Linux folks chose to make it work that
way;
> I'm not sure I want to copy that behavior.
>
> Then again, doing something more obvious might be hard...
>
> paul
>
> > -----Original Message-----
> > From: Pedro Alves [mailto:pedro@codesourcery.com]
> > Sent: Thursday, March 18, 2010 3:36 PM
> > To: gdb@sourceware.org
> > Cc: Paul Koning
> > Subject: Re: Two threads hitting the same break
> >
> > On Thursday 18 March 2010 19:26:52, Paul Koning wrote:
> > > I think I've seen discussion of this sort of issue, possibly in
the
> > > code, but I'm not having much luck finding it. Any suggestions
for
> > the
> > > right way to handle this?
> >
> > See linux-nat.c:cancel_breakpoint.
> >
> > --
> > Pedro Alves