Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Nick Roberts <nickrob@snap.net.nz>
To: Vladimir Prus <ghost@cs.msu.su>
Cc: gdb@sources.redhat.com
Subject: Re: MI non-stop mode spec
Date: Tue, 25 Mar 2008 21:28:00 -0000	[thread overview]
Message-ID: <18409.25598.614328.93389@kahikatea.snap.net.nz> (raw)
In-Reply-To: <fsanvf$2m2$1@ger.gmane.org>

 >...
 > > If a new feature is added to a particular command, such as the deferred
 > > breakpoints, that single service can be replaced, updated, or extended
 > > as needed.  While adding an option across all commands forces changes in
 > > all services.  There is a command factory mechanism in CDI-GDB to
 > > abstract some protocol changes which deals with small changes to
 > > individual commands based on the protocol version, which DSF-GDB is
 > > probably going to have to adopt as well.  But this mechanism wouldn't be
 > > necessary if the evolution in the protocol was more concerned with
 > > backward compatibility, especially in a case like this where the
 > > protocol change is not really necessary.
 > 
 > Yes, I was thinking that a centralised entity that actually sends or
 > creates command can easily add --thread option.

I'm nnot sure exactly how it is proposed that non-stop mode should work but
rather than a --thread option, why not have a separate command that determines
which thread(s) the following commands would act on?  Perhaps only the
execution commands, e.g run, next etc, would recognise this set. Using CLI
commands ;-) it could work something like this:

(gdb) threadset 2-4

would mean that

(gdb) continue&

would resume threads 2, 3 and 4

Unlike operations like print, It doesn't seem necessary for these commands to
select the thread/frame first.

Presumably you will be interested in implementing barrier points so there
could be further commands to hold and release threads, e.g.,

(gdb) hold 3

would mean that in the example above only threads 2 and 4 resumed

(gdb) release 3

would allow it to run again.

The command "threadset" on its own could show all the threads in the current
set and the commands "hold" and "release" on their own could show which threads
are currently held/released.

For the current mode of operation, Gdb would give

(gdb) threadset
all
(gdb) hold
none
(gdb) release
all

This would then provide a backward compatible way to use all the MI
execution commands.

-- 
Nick                                           http://www.inet.net.nz/~nickrob


  parent reply	other threads:[~2008-03-25 20:44 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-19  2:49 Vladimir Prus
2008-03-19  6:26 ` Nick Roberts
2008-03-19  9:14   ` Vladimir Prus
2008-03-19 10:02     ` Nick Roberts
2008-03-19 11:10       ` Vladimir Prus
2008-03-19 12:30         ` Nick Roberts
2008-03-19 13:43           ` Vladimir Prus
2008-03-19 20:44       ` Michael Snyder
2008-03-19 11:20     ` Bob Rossi
2008-03-19 11:16 ` Bob Rossi
2008-03-19 12:01   ` Vladimir Prus
2008-03-19 13:50     ` Bob Rossi
2008-03-19 14:07       ` Vladimir Prus
2008-03-19 14:33         ` Bob Rossi
2008-03-19 16:09           ` Vladimir Prus
2008-03-20 18:22 ` Marc Khouzam
2008-03-20 20:02   ` Vladimir Prus
2008-03-21  9:11   ` Nick Roberts
2008-03-21  9:48     ` Vladimir Prus
2008-03-21 18:13       ` Nick Roberts
2008-03-22  0:33         ` Vladimir Prus
2008-03-23  4:41           ` Nick Roberts
2008-03-23  5:18             ` Vladimir Prus
2008-03-23  9:25               ` Nick Roberts
2008-03-24  5:44                 ` Vladimir Prus
2008-03-24  7:05                   ` Thread bound variable objects [was: Re: MI non-stop mode spec] Nick Roberts
2008-03-24  7:18                     ` Vladimir Prus
2008-03-24 11:04                       ` Nick Roberts
2008-03-24 14:38                         ` Vladimir Prus
2008-03-25  6:28                       ` Thread bound variable objects Nick Roberts
2008-03-25 11:34                         ` Daniel Jacobowitz
2008-03-21 11:52 ` MI non-stop mode spec Vladimir Prus
2008-03-24 23:14   ` Daniel Jacobowitz
2008-03-25 17:46     ` Vladimir Prus
2008-03-22 17:33 ` Pawel Piech
2008-03-24  4:03   ` Nick Roberts
2008-03-24 17:22     ` Pawel Piech
2008-03-24 20:23       ` Vladimir Prus
2008-03-25  2:14       ` Nick Roberts
2008-03-24 18:38   ` Vladimir Prus
2008-03-24 21:25     ` Pawel Piech
2008-03-24 21:46       ` Vladimir Prus
2008-03-24 22:28         ` Pawel Piech
2008-03-25 12:30           ` Vladimir Prus
2008-03-25 18:30             ` Pawel Piech
2008-03-27 14:13               ` Vladimir Prus
2008-03-27 19:39                 ` Pawel Piech
2008-03-25 21:28             ` Nick Roberts [this message]
2008-03-26 13:03               ` Pawel Piech
2008-03-25  1:00   ` Daniel Jacobowitz
2008-03-25 18:18     ` Pawel Piech
2008-03-30 21:36       ` Pawel Piech

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=18409.25598.614328.93389@kahikatea.snap.net.nz \
    --to=nickrob@snap.net.nz \
    --cc=gdb@sources.redhat.com \
    --cc=ghost@cs.msu.su \
    /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