From: "Maciej W. Rozycki" <macro@wdc.com>
To: Simon Marchi <simark@simark.ca>
Cc: Pedro Alves <palves@redhat.com>,
gdb-patches@sourceware.org, Jim Wilson <jimw@sifive.com>
Subject: Re: [PATCH v2 2/4] Unregister the last inferior from the event loop
Date: Thu, 23 Jan 2020 01:19:00 -0000 [thread overview]
Message-ID: <alpine.LFD.2.21.2001230102280.14118@redsun52.ssa.fujisawa.hgst.com> (raw)
In-Reply-To: <alpine.LFD.2.21.2001211848240.15714@redsun52.ssa.fujisawa.hgst.com>
On Wed, 22 Jan 2020, Maciej W. Rozycki wrote:
> > And because that returns TARGET_WAITKIND_IGNORE, which results in
> > ecs->wait_some_more getting set by handle_inferior_event/prepare_to_wait,
> > it results in the infinite loop in wait_for_inferior.
>
> Right.
>
> > Does that look accurate?
>
> Almost, except that code in question has since been heavily refactored
> and the call to `target_wait' does not happen anymore. Now I need to
> bisect the tree, find the offending commit and figure out whether it has
> actually provided an alternative fix for the issue I have observed or just
> papered it over by chance somehow.
OK, I have tracked it down now. The semantics has changed with commit
5b6d1e4fa4fc ("Multi-target support"), and in particular this change:
@@ -3719,17 +3910,28 @@ fetch_inferior_event (void *client_data)
= make_scoped_restore (&execution_direction,
target_execution_direction ());
- ecs->ptid = do_target_wait (waiton_ptid, &ecs->ws,
- target_can_async_p () ? TARGET_WNOHANG : 0);
+ if (!do_target_wait (minus_one_ptid, ecs, TARGET_WNOHANG))
+ return;
+
+ gdb_assert (ecs->ws.kind != TARGET_WAITKIND_IGNORE);
+
[...]
combined with the fact that the new `do_target_wait' wrapper (original
`do_target_wait' has been renamed to `do_target_wait_1') retuns false if
(ecs->ws.kind == TARGET_WAITKIND_IGNORE) means that the looping no longer
happens and my problematic scenario has been deliberately taken care of,
as a side effect if not as an intended one.
This change (2/4) can therefore be dropped as no longer required. Again,
thank you, Simon, for your assistance!
Maciej
next prev parent reply other threads:[~2020-01-23 1:12 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-06 20:51 [PATCH v2 0/4] GDB fixes for the remote end having gone astray Maciej W. Rozycki
2019-11-06 20:51 ` [PATCH v2 1/4] Remove stale breakpoint step-over information Maciej W. Rozycki
2020-01-21 5:41 ` Simon Marchi
2020-02-19 11:26 ` Luis Machado
2019-11-06 20:52 ` [PATCH v2 4/4] Unregister the inferior from the event loop if failed to resume Maciej W. Rozycki
2020-02-19 13:40 ` Luis Machado
2019-11-06 20:52 ` [PATCH v2 2/4] Unregister the last inferior from the event loop Maciej W. Rozycki
2020-01-21 5:47 ` Simon Marchi
2020-01-21 11:21 ` Maciej W. Rozycki
2020-01-21 17:34 ` Simon Marchi
2020-01-22 17:35 ` Maciej W. Rozycki
2020-01-23 1:19 ` Maciej W. Rozycki [this message]
2020-01-23 5:39 ` Maciej W. Rozycki
2020-01-23 16:59 ` Simon Marchi
2019-11-06 20:52 ` [PATCH v2 3/4] Remove breakpoint step-over information if failed to resume Maciej W. Rozycki
2020-01-21 8:29 ` Simon Marchi
2020-02-19 13:30 ` Luis Machado
2019-11-18 12:38 ` [PING][PATCH v2 0/4] GDB fixes for the remote end having gone astray Maciej W. Rozycki
2019-11-26 15:49 ` [PING^2][PATCH " Maciej W. Rozycki
2019-12-02 14:50 ` [PING^3][PATCH " Maciej W. Rozycki
2019-12-05 20:59 ` Palmer Dabbelt via gdb-patches
2019-12-05 21:21 ` Maciej W. Rozycki
2019-12-09 21:29 ` [PING^4][PATCH " Maciej W. Rozycki
2019-12-17 0:06 ` [PING^5][PATCH " Maciej W. Rozycki
2020-01-06 15:40 ` [PING^6][PATCH " Maciej W. Rozycki
2020-01-13 20:46 ` [PING^7][PATCH " Maciej W. Rozycki
2020-01-21 4:21 ` [PING^8][PATCH " Maciej W. Rozycki
2020-02-10 9:01 ` [PING^10][PATCH " Maciej W. Rozycki
2020-02-17 14:07 ` [PATCH " Maciej W. Rozycki
2020-02-18 10:38 ` Luis Machado
2020-02-19 21:11 ` Tom Tromey
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=alpine.LFD.2.21.2001230102280.14118@redsun52.ssa.fujisawa.hgst.com \
--to=macro@wdc.com \
--cc=gdb-patches@sourceware.org \
--cc=jimw@sifive.com \
--cc=palves@redhat.com \
--cc=simark@simark.ca \
/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