From: Tom Tromey <tom@tromey.com>
To: Simon Marchi <simark@simark.ca>
Cc: Tom Tromey <tom@tromey.com>, Pedro Alves <palves@redhat.com>,
gdb-patches@sourceware.org
Subject: Re: [PATCH 02/23] Don't rely on inferior_ptid in record_full_wait
Date: Sat, 01 Aug 2020 14:46:08 -0600 [thread overview]
Message-ID: <87d04ap01b.fsf@tromey.com> (raw)
In-Reply-To: <9d4243a6-3b43-802b-b1d6-4cd0497205af@simark.ca> (Simon Marchi's message of "Sat, 1 Aug 2020 12:14:36 -0400")
Simon> I don't know if this makes sense: you tell the core of GDB that some
Simon> process was signalled (terminated by a signal), but you don't tell
Simon> what process it is. I am not sure what the core of GDB can do with
Simon> this information.
Simon> The contract that the `wait` implementations must respect is not
Simon> very well documented I believe, so it's not clear which value is
Simon> valid with which event.
Yeah. I think it would be good to fix this.
The reason I had it return minus_one_ptid is this text in
target/target.h:
Return pid of child, or -1 in case of error;
store status through argument pointer STATUS.
remote_target::wait does this as well, though perhaps not with this
target waitkind, e.g.:
status->kind = TARGET_WAITKIND_NO_RESUMED;
return minus_one_ptid;
or
if (status->kind == TARGET_WAITKIND_NO_RESUMED)
return minus_one_ptid;
... though not all returns set the kind.
Simon> Note that this waitpid call is blocking (and there's no async stuff in
Simon> inf-ptrace.c), so I presume that this is only used in sync targets.
Yeah. I found this because I was wondering what it would take to
convert the remaining sync targets, and have only target-async left.
I suspect the inf-ptrace targets can be converted by just lifting the
Linux code into in inf_ptrace_target. This comment in nbsd-nat.c is
worrying though:
/* The common code passes WNOHANG that leads to crashes, overwrite it. */
Other targets require a little more research. For Windows, Darwin, and
remote-sim, I thought perhaps we could put some of the current
resume/wait code into a separate thread. (Though in the case of the
sim, I think it would be better to move the sims to using the remote
protocol.)
Simon> Perhaps we could return TARGET_WAITKIND_NO_RESUMED in both cases?
remote.c does this in at least one case, though apparently not in all.
Tom
next prev parent reply other threads:[~2020-08-01 20:46 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-06 23:28 [PATCH 00/23] Multi-target support Pedro Alves
2019-09-06 23:28 ` [PATCH 20/23] Revert 'Remove unused struct serial::name field' Pedro Alves
2019-09-06 23:47 ` Christian Biesinger via gdb-patches
2019-09-08 19:30 ` Pedro Alves
2019-09-06 23:28 ` [PATCH 03/23] Make "show remote exec-file" inferior-aware Pedro Alves
2019-09-06 23:28 ` [PATCH 16/23] Fix reconnecting to a gdbserver already debugging multiple processes, II Pedro Alves
2019-09-06 23:28 ` [PATCH 19/23] gdbarch-selftests.c: No longer error out if debugging something Pedro Alves
2019-09-06 23:28 ` [PATCH 06/23] Don't check target is running in remote_target::mourn_inferior Pedro Alves
2019-09-06 23:28 ` [PATCH 09/23] switch inferior/thread before calling target methods Pedro Alves
2019-09-06 23:28 ` [PATCH 18/23] Add multi-target tests Pedro Alves
2019-10-09 16:01 ` Aktemur, Tankut Baris
2019-10-17 0:55 ` Pedro Alves
2019-09-06 23:28 ` [PATCH 08/23] Introduce switch_to_inferior_no_thread Pedro Alves
2019-09-09 18:42 ` Tom Tromey
2019-10-17 1:07 ` Pedro Alves
2019-09-06 23:28 ` [PATCH 11/23] tfile_target::close: trace_fd can't be -1 Pedro Alves
2019-09-06 23:28 ` [PATCH 17/23] Multi-target support Pedro Alves
2019-09-11 17:11 ` Tom Tromey
2019-10-17 1:54 ` Pedro Alves
2019-09-06 23:28 ` [PATCH 13/23] Delete exit_inferior_silent(int pid) Pedro Alves
2019-09-06 23:28 ` [PATCH 02/23] Don't rely on inferior_ptid in record_full_wait Pedro Alves
2020-07-31 3:17 ` Tom Tromey
2020-08-01 16:14 ` Simon Marchi
2020-08-01 19:32 ` John Baldwin
2020-08-01 20:47 ` Tom Tromey
2020-08-01 20:46 ` Tom Tromey [this message]
2020-08-01 22:56 ` Simon Marchi
2020-08-02 17:52 ` Tom Tromey
2020-08-03 0:08 ` Simon Marchi
2019-09-06 23:28 ` [PATCH 15/23] Fix reconnecting to a gdbserver already debugging multiple processes, I Pedro Alves
2019-09-06 23:28 ` [PATCH 01/23] Preserve selected thread in all-stop w/ background execution Pedro Alves
2019-10-09 9:36 ` Aktemur, Tankut Baris
2019-10-16 23:54 ` [PATCH v1.1 " Pedro Alves
2019-10-17 10:21 ` Aktemur, Tankut Baris
2019-09-06 23:28 ` [PATCH 10/23] Some get_last_target_status tweaks Pedro Alves
2019-09-09 18:53 ` Tom Tromey
2019-10-17 1:14 ` Pedro Alves
2019-09-06 23:33 ` [PATCH 23/23] Multi-target: NEWS and user manual Pedro Alves
2019-09-07 6:33 ` Eli Zaretskii
2019-10-17 2:08 ` Pedro Alves
2019-10-17 7:55 ` Eli Zaretskii
2019-10-17 2:42 ` Pedro Alves
2019-10-17 8:14 ` Eli Zaretskii
2019-10-17 15:31 ` Pedro Alves
2019-09-06 23:34 ` [PATCH 04/23] exceptions.c:print_flush: Remove obsolete check Pedro Alves
2019-09-09 18:07 ` Tom Tromey
2019-09-06 23:35 ` [PATCH 05/23] Make target_ops::has_execution take an 'inferior *' instead of a ptid_t Pedro Alves
2019-09-09 18:12 ` Tom Tromey
2019-09-06 23:36 ` [PATCH 07/23] Delete unnecessary code from kill_command Pedro Alves
2019-10-01 10:19 ` Aktemur, Tankut Baris
2019-10-01 13:28 ` Aktemur, Tankut Baris
2019-09-06 23:36 ` [PATCH 14/23] Tweak handling of remote errors in response to resumption packet Pedro Alves
2019-10-09 13:35 ` Aktemur, Tankut Baris
2019-10-17 0:54 ` [PATCH 14.5/23] Avoid another inferior_ptid reference in gdb/remote.c (Re: [PATCH 14/23] Tweak handling of remote errors in response to resumption packet) Pedro Alves
2019-09-06 23:36 ` [PATCH 12/23] Use all_non_exited_inferiors in infrun.c Pedro Alves
2019-09-06 23:37 ` [PATCH 21/23] Add "info connections" command, "info inferiors" connection number/string Pedro Alves
2019-09-09 20:18 ` Tom Tromey
2019-10-17 2:21 ` Pedro Alves
2019-10-17 14:23 ` Tom Tromey
2019-09-06 23:37 ` [PATCH 22/23] Require always-non-stop for multi-target resumptions Pedro Alves
2019-09-07 11:19 ` [PATCH 00/23] Multi-target support Philippe Waroquiers
2019-09-08 20:06 ` Pedro Alves
2019-09-08 20:50 ` Philippe Waroquiers
2019-10-16 19:08 ` Pedro Alves
2019-10-16 19:14 ` [PATCH] Avoid inferior_ptid reference in gdb/remote.c (Re: [PATCH 00/23] Multi-target support) Pedro Alves
2019-09-09 19:09 ` [PATCH 00/23] Multi-target support Tom Tromey
2019-09-09 20:22 ` 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=87d04ap01b.fsf@tromey.com \
--to=tom@tromey.com \
--cc=gdb-patches@sourceware.org \
--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