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
next prev 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