summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/linux-nat.c11
2 files changed, 13 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9babafb5f33..04e8091bdcd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * linux-nat.c (linux_supports_tracevforkdone, child_follow_fork):
+ Use LWP IDs.
+
2005-02-28 Daniel Jacobowitz <dan@codesourcery.com>
* dwarf2loc.c (loclist_read_variable): Set optimized_out
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index f2b2243eea3..57843c53adb 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -1,6 +1,6 @@
/* GNU/Linux native-dependent code common to multiple platforms.
- Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GDB.
@@ -293,9 +293,12 @@ linux_supports_tracevforkdone (int pid)
void
linux_enable_event_reporting (ptid_t ptid)
{
- int pid = ptid_get_pid (ptid);
+ int pid = ptid_get_lwp (ptid);
int options;
+ if (pid == 0)
+ pid = ptid_get_pid (ptid);
+
if (! linux_supports_tracefork (pid))
return;
@@ -340,7 +343,9 @@ child_follow_fork (int follow_child)
get_last_target_status (&last_ptid, &last_status);
has_vforked = (last_status.kind == TARGET_WAITKIND_VFORKED);
- parent_pid = ptid_get_pid (last_ptid);
+ parent_pid = ptid_get_lwp (last_ptid);
+ if (parent_pid == 0)
+ parent_pid = ptid_get_pid (last_ptid);
child_pid = last_status.value.related_pid;
if (! follow_child)