Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Bob Rossi <bob@brasko.net>
To: Jim Ingham <jingham@apple.com>
Cc: Daniel Jacobowitz <drow@false.org>,
	gdb-patches@sources.redhat.com, Eli Zaretskii <eliz@gnu.org>
Subject: Re: RFC: MI output during program execution
Date: Sat, 13 Aug 2005 14:51:00 -0000	[thread overview]
Message-ID: <20050813125333.GA13851@white> (raw)
In-Reply-To: <A445C864-C9EF-4DC0-B527-0E863E90ADCB@apple.com>

On Fri, Aug 12, 2005 at 11:47:24PM -0700, Jim Ingham wrote:
> 
> On Aug 12, 2005, at 10:04 PM, Daniel Jacobowitz wrote:
> 
> >On Fri, Aug 12, 2005 at 09:15:42PM -0400, Bob Rossi wrote:
> >
> >>On Fri, Aug 12, 2005 at 05:33:25PM -0700, Jim Ingham wrote:
> >>
> >>>>OK, unfortunatly, I'm still trying to catch up here. I think I
> >>>>understand the observer approach, however, what is the event  
> >>>>approach?
> >>>>Is that different than the "hooks" you have?
> >>>>
> >>>
> >>>So it LOOKS like the "events" are supposed to be the replacements  
> >>>for
> >>>the hooks...
> >>>
> >>>But then there's the whole observer thing, which from what I read of
> >>>the gdb-patches traffic at the time was supposed to be a more  
> >>>general
> >>>solution for watching interesting events.  But it doesn't seem to be
> >>>used all that much.
> >>>
> >>>So I am not really sure what's supposed to be happening here.
> >>>
> >>>Moving from hooks to events seems a trivial formal exercise.  I  
> >>>don't
> >>>know if they will get deprecated soon or what, however...
> >>>
> >>
> >>Jim thanks for all the help! Really.
> >>
> >>Can anyone reliable answer if hooks or events are supposed to be  
> >>used in
> >>the future for GDB? if neither of these, is there another approach?
> >>
> >>If there is no approach that the core GDB developers prefer, or know
> >>that are already in place, we are free to choose from any approach.
> >>
> >
> >Or do as I described earlier today, and add a new mechanism
> >specifically designed to notify interpreters of events that could be
> >interesting (which might meet Eli's concerns about misusing observers,
> >but we'd have to ask him!), or else call into the MI interpreter
> >directly from the code without messing with any kind of mechanism.
> 
> The hooks worked just fine for this purpose.  Dunno why they were  
> deprecated.  The events which are in all the same places, and work  
> pretty much the same way, also should be just fine...  We should pick  
> one of these, I think, rather than invent yet another.

Agreed, and if I understand them, both Daniel and Eli OK this idea.

The strange this is, it doesn't look like the "event" approach was a
replacement for the "hook" approach, unless it was a long time coming.
For instance, in breakpoint.c, 

   1.167        (cagney   21-Apr-04):   if (deprecated_create_breakpoint_hook)
   1.167        (cagney   21-Apr-04):     deprecated_create_breakpoint_hook (b);
   1.2          (cagney   23-Feb-00):   breakpoint_create_event (b->number);

The event's seem to have been there forever. Apparently, I have no idea
to figure out why someone Deprecated a piece of software in GDB because
the ChangeLog just says,
   2004-04-21  Andrew Cagney  <cagney@redhat.com>

           * annotate.h (deprecated_annotate_starting_hook)
           (deprecated_annotate_stopped_hook)
           (deprecated_annotate_exited_hook)
           (deprecated_annotate_signal_hook)
           (deprecated_annotate_signalled_hook): Deprecate.
           ...

Anyways, it looks like all of the "hooks" have been removed and the
replacement is events, like you have noticed Jim. The problem I see is
that gdb-events.[hc] is supposed to be the interface. However, I notice
2 problems.

The first is that the events layer looks like it is unable to provide
events to more than one listener. There is a single static event
variable in the body of gdb-events.c. I would think more than one
subsystem would want to know about the events that have been gathered so
far. Maybe that variable should be a list?

Second, the function that installs the event hooks is deprecated! So, it
appears that both the hooks and the custom events have been deprecated.
This is odd. How would the event interface be usable if the custom event
hooks (very bad name, since this is for events, not hooks) function was 
deprecated?

1.15         (cagney   26-Jun-04): extern struct gdb_events *deprecated_set_gdb_event_hooks (struct gd b_events *vector);     

This change is *not* in the ChangeLog, so I have no idea why it
was changed.

Anyways, the events look just fine to me, as long as the above questions
can be satisfied.

Thanks,
Bob Rossi


  reply	other threads:[~2005-08-13 12:53 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1123605445.30442.ezmlm@sources.redhat.com>
2005-08-09 17:24 ` Jim Ingham
2005-08-09 17:59   ` Bob Rossi
2005-08-09 18:09     ` Jim Ingham
2005-08-09 18:23       ` Bob Rossi
2005-08-09 18:40         ` Jim Ingham
2005-08-10  0:48           ` Daniel Jacobowitz
2005-08-10  0:48             ` Jim Ingham
2005-08-10  2:37               ` Daniel Jacobowitz
2005-08-09 18:13   ` Eli Zaretskii
2005-08-09 18:23     ` Bob Rossi
2005-08-09 19:39       ` Eli Zaretskii
2005-08-10  0:41         ` Bob Rossi
2005-08-10  0:42           ` Daniel Jacobowitz
2005-08-10  1:07             ` Bob Rossi
2005-08-10  2:37               ` Jim Ingham
2005-08-12  8:06                 ` Bob Rossi
2005-08-12 10:36                   ` Eli Zaretskii
2005-08-12 12:05                     ` Bob Rossi
2005-08-12 17:25                       ` Eli Zaretskii
2005-08-12 20:45                         ` Bob Rossi
2005-08-12 20:49                           ` Daniel Jacobowitz
2005-08-13  1:11                             ` Bob Rossi
2005-08-13  1:15                               ` Daniel Jacobowitz
2005-08-13 11:07                             ` Eli Zaretskii
2005-08-12 20:54                           ` Mark Kettenis
2005-08-13 15:05                             ` Bob Rossi
2005-08-12 21:01                         ` Daniel Jacobowitz
2005-08-13 11:13                           ` Eli Zaretskii
2005-08-12 17:03                   ` Jim Ingham
2005-08-13  0:33                     ` Bob Rossi
2005-08-13  0:44                       ` Jim Ingham
2005-08-13  5:04                         ` Bob Rossi
2005-08-13  6:47                           ` Daniel Jacobowitz
2005-08-13 11:06                             ` Jim Ingham
2005-08-13 14:51                               ` Bob Rossi [this message]
2005-08-13 16:55                                 ` Daniel Jacobowitz
2005-08-13 12:53                             ` Eli Zaretskii
2005-08-13 21:52                             ` Mark Kettenis
2005-08-13  0:22                   ` Daniel Jacobowitz
2005-08-11 10:10               ` Daniel Jacobowitz
2005-08-18 13:28 Nick Roberts
2005-08-19  0:52 ` Mark Kettenis
  -- strict thread matches above, loose matches on Subject: below --
2005-08-17  3:18 Nick Roberts
     [not found] <1124238360.5670.ezmlm@sources.redhat.com>
2005-08-17  1:10 ` Jim Ingham
2005-08-15  2:15 Nick Roberts
2005-08-15  2:13 Nick Roberts
2005-08-15  4:26 ` Daniel Jacobowitz
2005-08-15 10:03   ` Nick Roberts
2005-08-16  0:04     ` Bob Rossi
2005-08-16  0:33       ` Nick Roberts
2005-08-16  0:43     ` Daniel Jacobowitz
2005-08-16  3:54       ` Bob Rossi
2005-08-08  5:20 Nick Roberts
2005-08-08 13:05 ` Daniel Jacobowitz
2005-08-08 18:23   ` Jim Ingham
2005-08-09 17:32     ` Nick Roberts
2005-08-21 22:09     ` Nick Roberts
2005-08-24  2:20       ` Stan Shebs
2005-08-24 16:59         ` Nick Roberts
2005-08-24 20:15           ` Jim Ingham
2005-08-24 20:48             ` Nick Roberts
2005-08-27 12:09           ` Stan Shebs
2005-09-12  3:20         ` Nick Roberts
2005-09-12  3:40           ` Daniel Jacobowitz
2005-09-19 10:30           ` Nick Roberts
2005-09-19 13:17             ` Daniel Jacobowitz
2005-09-19 22:12               ` Nick Roberts
2005-09-19 22:17               ` Nick Roberts
2005-09-19 22:32                 ` Daniel Jacobowitz
2005-10-03  3:20             ` Nick Roberts
2005-10-03 13:18               ` Daniel Jacobowitz
2005-10-03 20:28                 ` Nick Roberts
2005-10-03 20:31                   ` Daniel Jacobowitz
2005-10-03 21:39                     ` Stan Shebs
2005-10-03 21:50                       ` Jim Ingham
2005-10-03 21:59                         ` Daniel Jacobowitz
2005-10-03 22:01                       ` Daniel Jacobowitz
2006-03-28  0:40                 ` Nick Roberts
2006-03-28 22:12                   ` Daniel Jacobowitz
2006-03-28 22:36                     ` Nick Roberts
2006-03-28 23:13                       ` Daniel Jacobowitz
2005-08-08 21:00 ` Eli Zaretskii
2005-08-09 17:52   ` Nick Roberts

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=20050813125333.GA13851@white \
    --to=bob@brasko.net \
    --cc=drow@false.org \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    --cc=jingham@apple.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