public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Jonah Graham <jonah@kichwacoders.com>
To: Jan Vrany <jan.vrany@fit.cvut.cz>
Cc: Joel Brobecker <brobecker@adacore.com>,
	Tom Tromey <tom@tromey.com>,
		"gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: MI3 and async notifications
Date: Mon, 17 Jun 2019 13:23:00 -0000	[thread overview]
Message-ID: <CAPmGMvgV0zCvz69=NhNkhtqbCAL6UmJ4Z2QT8BvAgCWZM6Zt+g@mail.gmail.com> (raw)
In-Reply-To: <a4559f77fcbbf683105b292f9ac200f3f79683d7.camel@fit.cvut.cz>

On Mon, 17 Jun 2019 at 09:12, Jan Vrany <jan.vrany@fit.cvut.cz> wrote:

> On Mon, 2019-06-17 at 08:56 -0400, Joel Brobecker wrote:
> > > I do agree, avoid the extra configurability - but I simply don't know
> how
> > > to work with just async notifications to sync messages. It means that
> CDT
> > > will have to issues the -break-insert, look for the done message and
> > > "search" between them to find the =breakpoint-created that matched and
> > > separately process any that don't. Please see my earlier message about
> how
> > > to handle race condition between -break-inserts over MI and breaks
> inserted
> > > from CLI. This race condition does not happen during normal operation
> > > (where a human is driving everything) but does kick in during many
> > > semi-automated flows. Perhaps this isn't a big problem, but to me it
> seems
> > > the logic to match up -break-insert to =breakpoint-created in client
> side
> > > is complex and bug prone.
> >
> > The part I don't understand is why it matters to sync the two.
> >
> Jonah, I was about to ask the same. I understand that you need to know
> which breakpoint has been inserted by given command, but this
> if we respond with something like
>
> 1-break-insert main
> =breakpoint-created,bkpt={number="1",type=...}
> 1^done,bkpt-number=1
>
> then you just search for breakpoint with that id, no? Given that MI
> guarantees that =breakpoint-created arrives before ^done reply to command.
> Am I missing something?
>

No you aren't missing anything. That would be a perfectly acceptable
solution for CDT.

There would still be some other new logic needed for CDT, we would still
have to store all the =breakpoint-created if there is a -break-insert
active and then process all of them when the ^done is received. However
that seems fairly reasonable.



>
> Also note that this is not only about breakpoints but also about things
> like
> -gdb-set and few others.
>

?? This is down to me not following closely enough. If you can point me in
the right direction then I can provide feedback now. If not it will have to
wait until if/when CDT needs to update to MI3 support. However there are no
gdb-sets that are likely to have any such issues as there is little to no
UI elements connected to gdb-sets. CDT does all of its gdb-sets at startup
to set the environment and then does not normally change any of them.

Thanks,
Jonah

  reply	other threads:[~2019-06-17 13:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-10 21:19 Jan Vrany
2019-06-10 23:23 ` Jonah Graham
2019-06-11  8:50   ` Jan Vrany
2019-06-11 13:37     ` Jonah Graham
2019-07-05 20:00       ` Pedro Alves
2019-07-05 21:58         ` Jonah Graham
2019-06-15 14:34 ` Tom Tromey
2019-06-17 10:53   ` Jan Vrany
2019-06-17 12:11     ` Jonah Graham
2019-06-17 12:14     ` Joel Brobecker
2019-06-17 12:26       ` Jonah Graham
2019-06-17 12:56         ` Joel Brobecker
2019-06-17 13:12           ` Jonah Graham
2019-06-17 13:12           ` Jan Vrany
2019-06-17 13:23             ` Jonah Graham [this message]
2019-06-17 20:45               ` Joel Brobecker
2019-06-17 20:58                 ` Jan Vrany
2019-06-17 21:50                   ` Jonah Graham
2019-06-17 19:52     ` André Pönitz
2019-06-18  3:14 ` Simon Marchi
2019-06-18 20:38   ` Jan Vrany
2019-06-19 15:29     ` Simon Marchi
2019-06-19 20:58       ` Jan Vrany
2019-06-20 15:31         ` Simon Marchi
2019-06-20 20:46           ` Jan Vrany
2019-07-05 19:35           ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPmGMvgV0zCvz69=NhNkhtqbCAL6UmJ4Z2QT8BvAgCWZM6Zt+g@mail.gmail.com' \
    --to=jonah@kichwacoders.com \
    --cc=brobecker@adacore.com \
    --cc=gdb@sourceware.org \
    --cc=jan.vrany@fit.cvut.cz \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).