diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/linux-nat.c | 11 |
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) |