Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Marc Khouzam <marc.khouzam@ericsson.com>
To: "'Joel Brobecker'" <brobecker@adacore.com>,
	        "'Tom Tromey'" <tromey@redhat.com>
Cc: "'gdb-patches@sourceware.org'" <gdb-patches@sourceware.org>
Subject: RE: Another proposal for frontends and queries.
Date: Thu, 17 Sep 2009 13:51:00 -0000	[thread overview]
Message-ID: <F7CE05678329534C957159168FA70DEC5153685264@EUSAACMS0703.eamcs.ericsson.se> (raw)
In-Reply-To: <20090916214051.GF8910@adacore.com>

 

> -----Original Message-----
> From: gdb-patches-owner@sourceware.org 
> [mailto:gdb-patches-owner@sourceware.org] On Behalf Of Joel Brobecker
> Sent: Wednesday, September 16, 2009 5:41 PM
> To: Tom Tromey
> Cc: Marc Khouzam; gdb-patches@sourceware.org
> Subject: Re: Another proposal for frontends and queries.
> 
> > One idea from the user 'heinz' (sorry, I don't know your 
> real name!) was
> > to have a query in MI mode throw a specific error, then let 
> the front
> > end reissue the command with the correct response.

This is interesting.
Maybe there could even be a "^query" answer.
The tokenId could be used to label this new MI query.

One extra advantage is that an MI query will no longer block GDB.
Other MI commands could be accepted while leaving the queried
command "on hold".  With this, the frontend could choose to query
the user or not, without having GDB blocked during the operation.
I like this.

One worry I have is what will GDB do if the frontend does not answer
the query?  I guess it can leave the command in the "query queue" for
ever, probably won't hurt.

> this assumes
> that we don't perform any action if an error is thrown. Otherwise, the
> user sends the command, receives the query, cancels the command, and
> thinks nothing happen.

I believe this is what you meant Joel, but just to be sure:
for this to work, a query has to happen before any effect of the command
is applied.  If a command starts doing some work and then queries, then
GDB might be in an inconsistent state.  But this probably does not happen
with the existing queries... it sounds too dangerous.

> I've often let the best be the enemy of good, though.  It seems like
> an acceptable restriction in the way we implement commands, 
> particularly
> since it allows us to avoid potentially complex improvements of
> the command architecture.
> 
> That being said, for 7.0, we should just go with the easy and safe
> route.  That way, existing frontend can work with gdb-7.0, rather
> than having to update their code to handle the new approach.

Yes, in the case of Eclipse, we wouldn't be able to support this
until June 2010.

That would be nice addition to MI for a future release.  I'm looking
forward to making use of it.

Marc
 


  reply	other threads:[~2009-09-17 13:51 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-14  2:38 Marc Khouzam
2009-09-14  6:45 ` Vladimir Prus
2009-09-14 13:07   ` Marc Khouzam
2009-09-14 14:09 ` Joel Brobecker
2009-09-14 14:28   ` Marc Khouzam
2009-09-14 14:48     ` Pedro Alves
2009-09-14 14:57       ` Marc Khouzam
2009-09-14 15:08       ` Joel Brobecker
2009-09-14 15:36         ` Marc Khouzam
2009-09-14 16:06           ` Joel Brobecker
2009-09-15 16:26         ` Joel Brobecker
2009-09-16  6:24           ` Hui Zhu
2009-09-16 12:38             ` Marc Khouzam
2009-09-16 13:06               ` Hui Zhu
2009-09-16 13:25                 ` Pedro Alves
2009-09-16 13:46                   ` Hui Zhu
2009-09-16 13:59                     ` Marc Khouzam
2009-09-16 14:17                       ` Hui Zhu
2009-09-16 14:26                         ` Joel Brobecker
2009-09-16 14:34                           ` Hui Zhu
2009-09-16 14:45                             ` Pedro Alves
2009-09-16 14:43                           ` Marc Khouzam
2009-09-16 18:03                         ` Tom Tromey
2009-09-16 23:36                           ` Hui Zhu
2009-09-16 23:40                             ` Joel Brobecker
2009-09-16 17:12                   ` Eli Zaretskii
2009-09-14 15:23     ` Joel Brobecker
2009-09-16 20:20     ` Tom Tromey
2009-09-16 20:35       ` Marc Khouzam
2009-09-17  0:17         ` Michael Snyder
2009-09-17  0:48           ` Marc Khouzam
2009-09-17  1:03             ` Joel Brobecker
2009-09-17  2:07               ` Marc Khouzam
2009-09-17  0:16       ` Michael Snyder
2009-09-16 20:43 ` Tom Tromey
2009-09-16 21:41   ` Joel Brobecker
2009-09-17 13:51     ` Marc Khouzam [this message]
2009-09-17 19:52       ` Tom Tromey
2009-09-18  4:59         ` Hui Zhu
2009-09-18  5:16           ` Michael Snyder
2009-09-18  9:31           ` Pedro Alves
2009-09-18 14:37             ` Joel Brobecker
2009-09-18 14:57         ` Marc Khouzam
2009-09-18 16:42           ` Tom Tromey
2009-09-22  0:46             ` Marc Khouzam
2009-09-22 22:49               ` [RFA/commit] s/nquery/query/ in record.c (was "Re: Another proposal for frontends and queries.") Joel Brobecker
2009-09-23 12:45                 ` Marc Khouzam
2009-09-24  3:05                   ` Hui Zhu
2009-09-24 17:59                 ` Joel Brobecker

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=F7CE05678329534C957159168FA70DEC5153685264@EUSAACMS0703.eamcs.ericsson.se \
    --to=marc.khouzam@ericsson.com \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tromey@redhat.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