aboutsummaryrefslogtreecommitdiff
path: root/gdb/inferior.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2012-11-05 18:56:45 +0000
committerPedro Alves <palves@redhat.com>2012-11-05 18:56:45 +0000
commit68c9da300bc7b0d1245111a0e29471f721fa490d (patch)
treef73679406d60c6af9d722b665a2baf7c5b43ccfc /gdb/inferior.c
parenta7c8c9312a88f65ecb43c28c5fba6f26aa87ba5b (diff)
downloadgdb-68c9da300bc7b0d1245111a0e29471f721fa490d.zip
gdb-68c9da300bc7b0d1245111a0e29471f721fa490d.tar.gz
gdb-68c9da300bc7b0d1245111a0e29471f721fa490d.tar.bz2
gdb/
2012-11-05 Pedro Alves <palves@redhat.com> * inferior.c (exit_inferior_1): Clear 'vfork_parent' in the vfork child. Clear 'pending_detach'. * infrun.c (handle_vfork_child_exec_or_exit): Clear 'pending_detach' in the vfork parent. gdb/testsuite/ 2012-11-05 Pedro Alves <palves@redhat.com> * gdb.base/foll-vfork.exp (vfork_relations_in_info_inferiors): New procedure. (do_vfork_and_follow_child_tests_exec) (do_vfork_and_follow_child_tests_exit): Call it.
Diffstat (limited to 'gdb/inferior.c')
-rw-r--r--gdb/inferior.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/inferior.c b/gdb/inferior.c
index f45058a..f46e1e3 100644
--- a/gdb/inferior.c
+++ b/gdb/inferior.c
@@ -266,9 +266,15 @@ exit_inferior_1 (struct inferior *inftoex, int silent)
inf->vfork_parent->vfork_child = NULL;
inf->vfork_parent = NULL;
}
+ if (inf->vfork_child != NULL)
+ {
+ inf->vfork_child->vfork_parent = NULL;
+ inf->vfork_child = NULL;
+ }
inf->has_exit_code = 0;
inf->exit_code = 0;
+ inf->pending_detach = 0;
}
void