Slightly tweak and clarify target_resume's interface
authorPedro Alves <pedro@palves.net>
Thu, 21 Apr 2022 13:20:36 +0000 (14:20 +0100)
committerPedro Alves <pedro@palves.net>
Fri, 29 Apr 2022 11:33:27 +0000 (12:33 +0100)
commitd51926f06a7f4854bebdd71dcb0a78dbaa2f4168
treeaeeb243c5da413dc2dc2b3c8d539e7f65471312b
parent8a2ef851861706a113a080a1ff3d91c81449704d
Slightly tweak and clarify target_resume's interface

The current target_resume interface is a bit odd & non-intuitive.
I've found myself explaining it a couple times the recent past, while
reviewing patches that assumed STEP/SIGNAL always applied to the
passed in PTID.  It goes like this today:

  - if the passed in PTID is a thread, then the step/signal request is
    for that thread.

  - otherwise, if PTID is a wildcard (all threads or all threads of
    process), the step/signal request is for inferior_ptid, and PTID
    indicates which set of threads run free.

Because GDB always switches the current thread to "leader" thread
being resumed/stepped/signalled, we can simplify this a bit to:

  - step/signal are always for inferior_ptid.

  - PTID indicates the set of threads that run free.

Still not ideal, but it's a minimal change and at least there are no
special cases this way.

That's what this patch does.  It renames the PTID parameter to
SCOPE_PTID, adds some assertions to target_resume, and tweaks
target_resume's description.  In addition, it also renames PTID to
SCOPE_PTID in the remote and linux-nat targets, and simplifies their
implementation a little bit.  Other targets could do the same, but
they don't have to.

Change-Id: I02a2ec2ab3a3e9b191de1e9a84f55c17cab7daaf
gdb/linux-nat.c
gdb/remote.c
gdb/target.c
gdb/target.h