From: Michael Snyder <msnyder@redhat.com>
To: Daniel Jacobowitz <drow@mvista.com>, gdb-patches@sources.redhat.com
Subject: Re: Stand resume() on its head
Date: Tue, 05 Nov 2002 14:15:00 -0000 [thread overview]
Message-ID: <3DC842F3.2E4B9197@redhat.com> (raw)
In-Reply-To: <20021105205957.GA15963@nevyn.them.org>
Daniel Jacobowitz wrote:
>
> On Tue, Nov 05, 2002 at 03:28:19PM -0500, Andrew Cagney wrote:
> > Hello,
> >
> > There have now been several discussion threads that lead to the
> > conclusion that
> >
> > target->resume (ptid_t, int, enum target_signal)
> >
> > needs changing. At present the suggestion is to add a parameter to
> > indicate schedule locking and similar operations.
> >
> > I'd like to propose a different approach. Instead of passing to
> > resume() what to do, have resume() iterate over all the threads asking
> > each what it should do - suspend, step, run, signal, ...
> >
> > I think, in the end, GDB will need to do something like this any way
> > (how else is GDB going to handle suspended threads?) so might as well
> > start earlier rather than later :-)
>
> I like it, roughly speaking. I've got a couple of other thoughts and
> some questions:
> - What do you mean by suspended threads?
Just what you think -- give the user the ability to say
"this thread should not resume when the others do."
> - User interface for this?
Important, and yet to be worked out. Wanna start the discussion?
> We could use this opportunity to fix
> and clarify passing signals. A command to show pending signals
> per-thread for the next resume; a command to set them.
Hmmmm!
> - Why would we want to step a particular thread in a resume? If we
> want to single-step a particular thread then it seems to me that we
> want to do it independently of resuming other threads.
Currently that's true. I can't think of a circumstance where it
wouldn't be true, but I haven't thought real hard about it.
> - Is there a useful way to combine this with a mechanism to report
> more than one event from a wait? More than one thread stopping with a
> signal, for instance. That'll also need interface changes, but we need
> the interface changes anyway: see the failing test for hitting a
> watchpoint and a breakpoint at the same time, in annota2.exp.
In a single-processor system, I don't think that can happen.
It's bogus that Linux-gdb lets it appear to happen (at least internally).
But yeah, it can sure happen in a multi-processor environment.
Have any thoughts to share about that interface?
Michael
next prev parent reply other threads:[~2002-11-05 22:15 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-05 12:28 Andrew Cagney
2002-11-05 12:46 ` Kevin Buettner
2002-11-05 14:57 ` Andrew Cagney
2002-11-05 12:59 ` Daniel Jacobowitz
2002-11-05 14:15 ` Michael Snyder [this message]
2002-11-05 20:03 ` Daniel Jacobowitz
2002-11-05 15:10 ` Andrew Cagney
2002-11-05 14:10 ` Michael Snyder
2002-11-05 15:14 ` Andrew Cagney
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=3DC842F3.2E4B9197@redhat.com \
--to=msnyder@redhat.com \
--cc=drow@mvista.com \
--cc=gdb-patches@sources.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