Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Vladimir Prus <vladimir@codesourcery.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA] Use observers to report stop events.
Date: Tue, 29 Apr 2008 08:03:00 -0000	[thread overview]
Message-ID: <20080429031411.GB28505@adacore.com> (raw)
In-Reply-To: <200804112145.58456.vladimir@codesourcery.com>

Volodya,

> 	* defs.h (make_cleanup_restore_integer): New declaration.
> 	* utils.c (restore_integer_closure, restore_integer)
> 	(make_cleanup_restore_integer): New.
> 	* breakpoint.c (restore_always_inserted_mode): Remove.
> 	(update_breakpoints_after_exec): Use make_cleanup_restore_integer.
> 
> 	* inferior.h (suppress_normal_stop_observer): New.
> 	* infcall.c (call_function_by_hand): Disable stop events when
> 	doing function calls.
> 	* infmcd.c (suppress_normal_stop_observer): New.
> 	(finish_command_continuation): Call normal_stop observer
> 	explicitly.
> 	(finish_command): Disable stop events inside proceed.
> 	* infrun.c (normal_stop): Don't call normal stop observer if
> 	suppressed of if multi-step is in progress.
> 
> 	* interps.h (top_level_interpreter): New.
> 	* interps.c (top_level_interpreter): Rename to
> 	top_level_interpreter_ptr.
> 	(top_level_interpreter): New.
> 
> 	* mi/mi-interp.c (mi_on_normal_stop): New.
> 	(mi_interpreter_init): Register mi_on_normal_stop.
> 	(mi_interpreter_exec_continuation): Remove.
> 	(mi_cmd_interpreter_exec): Don't register the above.
> 	* mi/mi-main.c (captured_mi_execute_command): Don't care
> 	about sync_execution.
> 	(mi_execute_async_cli_command): Don't install continuation.  Don't
> 	print *stopped.
> 	(mi_exec_async_cli_cmd_continuation): Remove.

I tried to have a look at your patch, but I couldn't get into it
within the short amount of time that I have today. What I did notice
is that it contains several changes that could be made independent.
For instance, the make_cleanup_restore_integer/restore_always_inserted_mode
part could be introduced separately (honestly, this part looks a little
scary as you will leak memory is someone cancels the cleanup - so far,
I think the usual practice is to have one make_cleanup_bla_bla_bla
that specially restores your variable).

I need to document myself about the "*stopped async output" because
I didn't quite get the idea of the patch. But if I had known that this
patch had some MI-logic to it, I'd probably have stayed away from it.
I seem to find more excitement in other parts of GDB... If no one else
gets to it, I'll see I can find some time later in the week or next week
to try again, but it would definitely help to see this patch broken down
into smaller pieces.

-- 
Joel


  parent reply	other threads:[~2008-04-29  3:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-11 20:05 Vladimir Prus
2008-04-24 13:47 ` Vladimir Prus
2008-04-29  8:03 ` Joel Brobecker [this message]
2008-04-29 18:30   ` Vladimir Prus
2008-05-01 19:58     ` Daniel Jacobowitz
2008-05-01 20:11       ` Pedro Alves
2008-05-01 20:17         ` Vladimir Prus
2008-05-04  9:05       ` Vladimir Prus
2008-05-28 18:30         ` Vladimir Prus
2008-06-05 15:41         ` Daniel Jacobowitz
2008-06-10 11:58           ` Vladimir Prus
2008-06-10 13:21             ` Daniel Jacobowitz
2008-06-10 13:25               ` Vladimir Prus
2008-06-10 13:51                 ` Daniel Jacobowitz

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=20080429031411.GB28505@adacore.com \
    --to=brobecker@adacore.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=vladimir@codesourcery.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