* infrun.c (pending_follow): Remove saw_parent_fork, saw_child_fork,
authorDaniel Jacobowitz <drow@false.org>
Thu, 12 Dec 2002 22:41:21 +0000 (22:41 +0000)
committerDaniel Jacobowitz <drow@false.org>
Thu, 12 Dec 2002 22:41:21 +0000 (22:41 +0000)
and saw_child_exec.
(follow_fork, init_wait_for_inferior, handle_inferior_event): Remove
references to saw_parent_fork, saw_child_fork, and saw_child_exec.
(stop_stepping): Remove outdated check for child vfork events.

gdb/ChangeLog
gdb/infrun.c

index 1c5bd023188a34a01b9e8136f26e5191629bbcbf..5dcde644e823b4394a09c03d66bd15c47c09c63b 100644 (file)
@@ -1,3 +1,11 @@
+2002-12-12  Daniel Jacobowitz  <drow@mvista.com>
+
+       * infrun.c (pending_follow): Remove saw_parent_fork, saw_child_fork,
+       and saw_child_exec.
+       (follow_fork, init_wait_for_inferior, handle_inferior_event): Remove
+       references to saw_parent_fork, saw_child_fork, and saw_child_exec.
+       (stop_stepping): Remove outdated check for child vfork events.
+
 2002-12-12  Andrew Cagney  <ac131313@redhat.com>
 
        * GDB 5.3 released from gdb_5_3-branch.
index 60adc59224317f075b94498e940f9a9c54e1e1c7..b1db8cbe9121c55f2f9d83de7fed04a9cc620422 100644 (file)
@@ -355,10 +355,7 @@ static struct
   struct
   {
     int parent_pid;
-    int saw_parent_fork;
     int child_pid;
-    int saw_child_fork;
-    int saw_child_exec;
   }
   fork_event;
   char *execd_pathname;
@@ -393,9 +390,6 @@ follow_fork ()
       /* follow_mode = follow_fork_mode_...; */
     }
 
-  pending_follow.fork_event.saw_parent_fork = 0;
-  pending_follow.fork_event.saw_child_fork = 0;
-
   return target_follow_fork (follow_child);
 }
 
@@ -870,9 +864,6 @@ init_wait_for_inferior (void)
 
   /* The first resume is not following a fork/vfork/exec. */
   pending_follow.kind = TARGET_WAITKIND_SPURIOUS;      /* I.e., none. */
-  pending_follow.fork_event.saw_parent_fork = 0;
-  pending_follow.fork_event.saw_child_fork = 0;
-  pending_follow.fork_event.saw_child_exec = 0;
 
   /* See wait_for_inferior's handling of SYSCALL_ENTRY/RETURN events. */
   number_of_threads_in_syscalls = 0;
@@ -1338,7 +1329,6 @@ handle_inferior_event (struct execution_control_state *ecs)
       stop_signal = TARGET_SIGNAL_TRAP;
       pending_follow.kind = ecs->ws.kind;
 
-      pending_follow.fork_event.saw_child_fork = 1;
       pending_follow.fork_event.parent_pid = PIDGET (ecs->ptid);
       pending_follow.fork_event.child_pid = ecs->ws.value.related_pid;
 
@@ -1379,7 +1369,6 @@ handle_inferior_event (struct execution_control_state *ecs)
          triggers...) */
       if (ptid_equal (ecs->ptid, inferior_ptid))
        {
-         pending_follow.fork_event.saw_parent_fork = 1;
          pending_follow.fork_event.parent_pid = PIDGET (ecs->ptid);
          pending_follow.fork_event.child_pid = ecs->ws.value.related_pid;
        }
@@ -1389,7 +1378,6 @@ handle_inferior_event (struct execution_control_state *ecs)
          Else, give any vfork catchpoints a chance to trigger now. */
       else
        {
-         pending_follow.fork_event.saw_child_fork = 1;
          pending_follow.fork_event.child_pid = PIDGET (ecs->ptid);
          pending_follow.fork_event.parent_pid = ecs->ws.value.related_pid;
          target_post_startup_inferior (pid_to_ptid
@@ -2820,30 +2808,6 @@ stop_stepping (struct execution_control_state *ecs)
 {
   if (target_has_execution)
     {
-      /* Are we stopping for a vfork event?  We only stop when we see
-         the child's event.  However, we may not yet have seen the
-         parent's event.  And, inferior_ptid is still set to the
-         parent's pid, until we resume again and follow either the
-         parent or child.
-
-         To ensure that we can really touch inferior_ptid (aka, the
-         parent process) -- which calls to functions like read_pc
-         implicitly do -- wait on the parent if necessary. */
-      if ((pending_follow.kind == TARGET_WAITKIND_VFORKED)
-         && !pending_follow.fork_event.saw_parent_fork)
-       {
-         ptid_t parent_ptid;
-
-         do
-           {
-             if (target_wait_hook)
-               parent_ptid = target_wait_hook (pid_to_ptid (-1), &(ecs->ws));
-             else
-               parent_ptid = target_wait (pid_to_ptid (-1), &(ecs->ws));
-           }
-         while (!ptid_equal (parent_ptid, inferior_ptid));
-       }
-
       /* Assuming the inferior still exists, set these up for next
          time, just like we did above if we didn't break out of the
          loop.  */