diff options
author | Pedro Alves <palves@redhat.com> | 2012-11-05 18:56:45 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2012-11-05 18:56:45 +0000 |
commit | 68c9da300bc7b0d1245111a0e29471f721fa490d (patch) | |
tree | f73679406d60c6af9d722b665a2baf7c5b43ccfc /gdb/inferior.c | |
parent | a7c8c9312a88f65ecb43c28c5fba6f26aa87ba5b (diff) | |
download | gdb-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.c | 6 |
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 |