diff options
author | John Baldwin <jhb@FreeBSD.org> | 2016-06-24 21:00:04 -0700 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2016-07-01 08:35:33 -0700 |
commit | 2c5c2a3321706c28cbf1b85a970a2e32912eb0c8 (patch) | |
tree | 8bf821a89de943c5fb9718649ce00efbfcc6b5be /.cvsignore | |
parent | 8607ea632c806235554aa2336cf01bf3758c1264 (diff) | |
download | fsf-binutils-gdb-2c5c2a3321706c28cbf1b85a970a2e32912eb0c8.zip fsf-binutils-gdb-2c5c2a3321706c28cbf1b85a970a2e32912eb0c8.tar.gz fsf-binutils-gdb-2c5c2a3321706c28cbf1b85a970a2e32912eb0c8.tar.bz2 |
Fake VFORK_DONE events when following only the parent after a vfork.
FreeBSD does not currently report a ptrace event for a parent process
after it resumes due to the child exiting the shared memory region after
a vfork. Take the same approach used in linux-nat.c in this case of
sleeping for a while and then reporting a fake VFORK_DONE event.
gdb/ChangeLog:
* fbsd-nat.c (struct fbsd_fork_child_info): Rename to ...
(struct fbsd_fork_info): ... this.
(struct fbsd_fork_info) <child>: Rename to ...
(struct fbsd_fork_info) <ptid>: ... this.
(fbsd_pending_children): Update type.
(fbsd_remember_child): Update type and field name.
(fbsd_is_child_pending): Likewise.
(fbsd_pending_vfork_done): New variable.
(fbsd_is_vfork_done_pending): New function.
(fbsd_next_vfork_done): New function.
(fbsd_resume): Don't resume processes with a pending vfork done
event.
(fbsd_wait): Report pending vfork done events.
(fbsd_follow_fork): Delay and record a pending vfork done event
for a vfork parent when detaching the child.
Diffstat (limited to '.cvsignore')
0 files changed, 0 insertions, 0 deletions