Don't compare the pid returned from 'wait' against inferior_ptid.
authorJohn Baldwin <jhb@FreeBSD.org>
Thu, 9 Jul 2020 19:40:40 +0000 (12:40 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Thu, 9 Jul 2020 19:40:40 +0000 (12:40 -0700)
commitf37e5866aa72e76f2199155fb838ffc25c78a26e
treec6a593841eb4baf31a4f2c8f7ff4375bca9f7365
parent39776b1117bdbdc34eb46151edc8e09eecce1530
Don't compare the pid returned from 'wait' against inferior_ptid.

'inf_ptrace::wait' needs to discard termination events reported by
detached child processes.  Previously it compared the returned pid
against the pid in inferior_ptid to determine if a termination event
should be discarded or reported.  The multi-target changes cleared
inferior_ptid to null_ptid in 'wait' target methods, so this was
always failing and never reporting exit events.  Instead, report
termination events whose pid matches any inferior belonging to the
current target.

Several tests started failing on FreeBSD after the multi-target
changes and pass again after this change.

gdb/ChangeLog:

* inf-ptrace.c (inf_ptrace_target::wait): Don't compare against
inferior_ptid.
gdb/ChangeLog
gdb/inf-ptrace.c