aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2016-06-24 18:24:21 -0700
committerJohn Baldwin <jhb@FreeBSD.org>2016-07-01 08:32:38 -0700
commitbb2a62e694953c099c41d49f59947d3d91cc7c27 (patch)
treeb2867bf20233c3c7c09d2db1222ced688f8ef18a
parent5e866f5aeeaf7514f5ca4f9eaba41594eac22e5b (diff)
downloadfsf-binutils-gdb-bb2a62e694953c099c41d49f59947d3d91cc7c27.zip
fsf-binutils-gdb-bb2a62e694953c099c41d49f59947d3d91cc7c27.tar.gz
fsf-binutils-gdb-bb2a62e694953c099c41d49f59947d3d91cc7c27.tar.bz2
Honor detach-on-fork on FreeBSD.
Only detach from the new child process in the follow fork callback if detach_fork is true. gdb/ChangeLog: * fbsd-nat.c (fbsd_follow_fork): Only detach child if "detach_fork" is true.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/fbsd-nat.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e4f7e3a..b6bf7fa 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2016-07-01 John Baldwin <jhb@FreeBSD.org>
+ * fbsd-nat.c (fbsd_follow_fork): Only detach child if
+ "detach_fork" is true.
+
+2016-07-01 John Baldwin <jhb@FreeBSD.org>
+
* x86bsd-nat.c: Include 'gdbthread.h'.
(x86bsd_dr_set): Set debug registers on all threads belonging to
the current inferior.
diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c
index c9548e9..0999712 100644
--- a/gdb/fbsd-nat.c
+++ b/gdb/fbsd-nat.c
@@ -826,7 +826,7 @@ static int
fbsd_follow_fork (struct target_ops *ops, int follow_child,
int detach_fork)
{
- if (!follow_child)
+ if (!follow_child && detach_fork)
{
struct thread_info *tp = inferior_thread ();
pid_t child_pid = ptid_get_pid (tp->pending_follow.value.related_pid);