Re: [PATCH 07/10] remote: Move discard_pending_stop_replies call

Simon Marchi
2018-05-18T21:18:42Z

On 2018-05-16 10:18 AM, Pedro Alves wrote:
> This helps because discard_pending_stop_replies will later become a
> method of remote_target. Otherwise, when we have multiple instances
> of remote_target, we'd have to make discard_pending_stop_replies find
> the inferior's target_ops, and upcast it to remote_target (if indeed a
> remote) to find the pending stop replies queue to clear.
>
> gdb/ChangeLog:
> yyyy-mm-dd Pedro Alves <palves@redhat.com>
>
> * remote.c (remote_target::mourn_inferior): Move
> discard_pending_stop_replies call here from ...
> (_initialize_remote): ... here.
> ---
> gdb/remote.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/gdb/remote.c b/gdb/remote.c
> index ef15eafe2a..230288b727 100644
> --- a/gdb/remote.c
> +++ b/gdb/remote.c
> @@ -9666,6 +9666,10 @@ remote_target::mourn_inferior ()
> {
> struct remote_state *rs = get_remote_state ();
>
> + /* We're no longer interested in notification events of an inferior
> + that exited or was killed/detached. */
> + discard_pending_stop_replies (current_inferior ());
> +
> /* In 'target remote' mode with one inferior, we close the connection. */
> if (!rs->extended && number_of_live_inferiors () <= 1)
> {
> @@ -14059,9 +14063,6 @@ _initialize_remote (void)
>
> /* Hook into new objfile notification. */
> gdb::observers::new_objfile.attach (remote_new_objfile);
> - /* We're no longer interested in notification events of an inferior
> - when it exits. */
> - gdb::observers::inferior_exit.attach (discard_pending_stop_replies);
>
> #if 0
> init_remote_threadtests ();
>

LGTM.

Simon