gdb: make target_close check that the target isn't pushed in all inferiors
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 7 May 2021 15:51:19 +0000 (11:51 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Fri, 7 May 2021 15:51:39 +0000 (11:51 -0400)
commit27f0a4314aa5f81329e52dfbb4d06756415a4c53
tree6e534b942ac229c1f16fd94e5c010352464000bf
parent1d1669e40f89a34ae2804ee040df2bf77ed29df8
gdb: make target_close check that the target isn't pushed in all inferiors

The target_close function currently checks that the target to be closed
isn't pushed in the current inferior:

    gdb_assert (!current_inferior ()->target_is_pushed (targ));

Normally, a target is closed when its refcount has dropped to 0, due to
not being used in any inferior anymore.  I think it would make sense to
change that assert to not only check in the current inferior, but to
check in all inferiors.  It would be quite bad (and a bug) to close a
target while it's still pushed in one of the non-current inferiors.

gdb/ChangeLog:

* target.c (target_close): Check in all inferiors that the
target is not pushed.

Change-Id: I6e37fc3f3476a0593da1e476604642b2de90f1d5
gdb/ChangeLog
gdb/target.c