Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Pawel Piech <pawel.piech@windriver.com>
To: gdb@sourceware.org
Subject: Re: MI non-stop interface details
Date: Tue, 29 Apr 2008 03:14:00 -0000	[thread overview]
Message-ID: <48160ECD.6020502@windriver.com> (raw)
In-Reply-To: <200804261939.37635.vladimir@codesourcery.com>

Vladimir,
Thank you for the update and thank you for incorporating our feedback in 
your proposal.  Having continued support for thread-select will make for 
a much smoother transition to this version of protocol.  I only have a 
couple of comments below:

Vladimir Prus wrote:
> There are a couple of open questions.
>
> 1. Presently, -exec-continue resumes all threads, and the current thread
> has no effect. I think it's desirable to be able to resume a single thread,
> and for that, we actually need the --thread option for -exec-continue, to
> mean that a single thread must be resumed.
> 2. Presently, -exec-step also resumes all threads. There's an option,
> "scheduler-locking" that can be used for cause -exec-step to resume only
> the current thread. It seems to be, that for non-stop mode, resuming all
> threads is a wrong thing to do, therefore -exec-step, when in non-stop
> mode, will resume only the thread been stepped. This will be the same
> no matter if the thread is specified implicitly or explicitly.
>   
I agree with Pedro Alves that having the behavior for -exec-* be 
consistent would be very helpful.  I would also suggest '-exec-continue 
--thread="all" '.  Now if we'd be able use '-thread-select all', that 
would be even better... though I suspect you'll see lots of 
implementation issues with that.

In either non-stop or all-stop mode, I expected to see extensions to the 
*stopped and *running events, which would indicate to the client whether 
one or all threads were resumed.  If you want to be very forward looking 
you could use:
*stopped,thread-id="2",thread-ids=[2, 3, 5],container-ids="[all]"...
where :
thread-id - Indicates the the thread that triggered the event, which is 
usually the thread that should receive the focus in the UI.
thread-ids - List of all threads that were suspended, threads that are 
part of the container that stopped would be omitted.
container-ids - list of containers (cores/processes/etc) that 
suspended.  Until multi-process support is implemented, "all" would be 
the only possible value.  Empty if only the thread suspended.


> Inferior function calls
> -----------------------
>
> We already have the *stopped async event, and I have a patch to introduce the
> *running async event. Those are not emitted when doing inferiour function calls,
> since doing so may cause a frontend to infinitely refresh its state. I propose
> the following mechanism to enable those notifications for frontends that
> are sufficiently robust:
>
> 1. Declare that MI might have some features that are not enabled by default.
> 2. Introduce new command -enable-feature, which takes a name of feature and enables
> it. 
> 3. Make up a name of a feature, say inferior_call_notifications, and add that
> feature to the output of -list-features.
> 4. Make '-enable-feature inferior_call_notification' enable *running and *stopped
> for inferiour function calls.
>
> Any comments?
>   
This is a good compromise, would there be a special "reason" value, such 
as "evaluate"?

Thanks,
Pawel


  parent reply	other threads:[~2008-04-28 17:55 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-26 18:09 Vladimir Prus
2008-04-26 18:16 ` Doug Evans
2008-04-26 19:49   ` Vladimir Prus
2008-04-30  7:18     ` Marc Khouzam
2008-04-28 16:21 ` Pedro Alves
2008-04-29 19:21   ` Vladimir Prus
2008-04-29 20:04     ` Pedro Alves
2008-04-30  7:00       ` Pawel Piech
2008-05-01 16:15         ` Vladimir Prus
2008-05-01 16:31           ` Pawel Piech
2008-05-01 16:38             ` Vladimir Prus
2008-05-01 16:58               ` Pawel Piech
     [not found]               ` <4819F4D4.4010305@windriver.com>
2008-05-01 17:00                 ` Vladimir Prus
2008-05-01 17:53                   ` Pawel Piech
2008-05-01 18:12                     ` Vladimir Prus
2008-05-01 18:37                       ` Pawel Piech
2008-05-02  1:23                       ` Evolution of GDB/MI [was Re: MI non-stop interface details] Nick Roberts
2008-04-30 14:23       ` MI non-stop interface details Marc Khouzam
2008-04-30 17:21         ` Pedro Alves
     [not found]         ` <200804301117.42633.vladimir@codesourcery.com>
     [not found]           ` <4818AA58.4040201@windriver.com>
2008-05-01 17:11             ` Vladimir Prus
2008-05-01 18:08               ` Pawel Piech
2008-05-02 14:21                 ` Vladimir Prus
2008-05-02 16:59                   ` Pawel Piech
2008-05-02 17:13                     ` Vladimir Prus
     [not found]                       ` <481B4FDC.4010802@windriver.com>
2008-05-02 17:36                         ` Vladimir Prus
2008-05-02 18:00                           ` Pawel Piech
2008-05-02 18:19                             ` Vladimir Prus
2008-05-02 18:36                               ` Pawel Piech
2008-04-29  3:14 ` Pawel Piech [this message]
     [not found] ` <200804301059.44112.vladimir@codesourcery.com>
     [not found]   ` <200804301534.48779.pedro@codesourcery.com>
2008-05-01 17:22     ` Vladimir Prus
2008-05-01 17:52       ` 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=48160ECD.6020502@windriver.com \
    --to=pawel.piech@windriver.com \
    --cc=gdb@sourceware.org \
    /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