[PATCH 0/8] Fix removing inferiors from within "thread apply" commands
Pedro Alves
palves@redhat.com
Tue Apr 11 23:51:00 GMT 2017
It took a bit more work than I envisioned, but ...
... this series aims at fixing the issues mentioned here:
https://sourceware.org/ml/gdb-patches/2017-04/msg00137.html
Those are addressed by the last patch in this series (patch 8).
That patch however exposed a couple other latent problems, which are
fixed by the first two patches in this series.
Patch 3 ("C++fy thread_apply_all_command"), I wrote because I first
thought we'd also have to bump the refcounts of all inferiors in
"thread apply all". That's actually not necessary, but still that's a
useful patch for getting rid of cleanups, so I included it here.
Patch 4 increases coverage of a regression test for a related bug. I
had noticed that we weren't making sure that GDB reverts back to no
thread selected in that test. And patch 3 made me realize that that
test also didn't exercise "thread apply $some_thread", which goes via
a different path, so I fixed it too.
Patches 5-7 are preparatory/cleanup work for patch 8.
Tested on x86_64 Fedora 23, native and gdbserver.
Pedro Alves (8):
watch_command_1: Fix dangling frame access
Fix follow-fork latent bug
C++fy thread_apply_all_command
Improve coverage of the PR threads/13217 regression test
GC inferior.c:init_inferior_list
Make inferior a class with cdtors, and use new/delete
Make inferior::detaching a bool, and introduce
scoped_restore::release()
Fix removing inferiors from within "thread apply" commands
gdb/Makefile.in | 6 +-
gdb/breakpoint.c | 34 +++--
gdb/common/scoped_restore.h | 36 +++--
gdb/inferior.c | 52 ++-----
gdb/inferior.h | 110 +++++++++------
gdb/infrun.c | 13 +-
gdb/testsuite/gdb.threads/threadapply.exp | 166 +++++++++++++++++++++-
gdb/testsuite/lib/gdb.exp | 19 +++
gdb/thread.c | 222 ++++++++++++++++--------------
gdb/unittests/scoped_restore-selftests.c | 110 +++++++++++++++
10 files changed, 556 insertions(+), 212 deletions(-)
create mode 100644 gdb/unittests/scoped_restore-selftests.c
--
2.5.5
More information about the Gdb-patches
mailing list