obsd-nat: Various fixes to obsd_nat_target::wait.
authorJohn Baldwin <jhb@FreeBSD.org>
Thu, 29 Jul 2021 20:16:29 +0000 (13:16 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Thu, 29 Jul 2021 20:16:29 +0000 (13:16 -0700)
commit3d3f92f275a0599f00742fbfcfbd0fb5b0d58364
tree884e9ed311adb412aa269d04f956912ae09eb22c
parent9f07c7700101a4a69e4f78a0cfd16403228694ee
obsd-nat: Various fixes to obsd_nat_target::wait.

- Call inf_ptrace_target::wait instead of duplicating the code.
  Replace a check for WIFSTOPPED on the returned status from waitpid
  by checking for TARGET_WAITKIND_STOPPED in the parsed status as is
  done in fbsd_nat_target::wait.

- Don't use inferior_ptid when deciding if a new process is a child vs
  parent of the fork.  Instead, use find_inferior_pid and assume that
  if an inferior already exists, the pid in question is the parent;
  otherwise, the pid is the child.

- Don't use inferior_ptid when deciding if the ptid of the process
  needs to be updated with an LWP ID, or if this is a new thread.
  Instead, use the approach from fbsd-nat which is to check if a ptid
  without an LWP exists and if so update the ptid of that thread
  instead of adding a new thread.
gdb/obsd-nat.c