diff options
author | Daniel Jacobowitz <drow@false.org> | 2002-12-11 02:02:03 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2002-12-11 02:02:03 +0000 |
commit | 7d2830a309f131b09372007cdff1f277a76b2458 (patch) | |
tree | 1fe0686cc6c8e079cc924466a147bb3fdf06bb88 /gdb/infttrace.c | |
parent | 8e7d2c16952df15b6628a9f2ee985086a408561f (diff) | |
download | gdb-7d2830a309f131b09372007cdff1f277a76b2458.zip gdb-7d2830a309f131b09372007cdff1f277a76b2458.tar.gz gdb-7d2830a309f131b09372007cdff1f277a76b2458.tar.bz2 |
* hppah-nat.c (saved_child_execd_pathname, saved_vfork_state): New.
(child_post_follow_vfork): Cancel pending exec event if we follow
the parent.
(child_wait): Only return TARGET_WAITKIND_VFORKED when all necessary
events have been processed. Return a fake TARGET_WAITKIND_EXECD
event at the following wait call if necessary.
* infrun.c (follow_vfork): Don't follow_exec here.
(handle_inferior_event): Add comment to TARGET_WAITKIND_EXECD
case about HP/UX 10.20. Remove code pushed down to
hppah-nat.c:child_wait.
* infttrace.c (child_resume): Use TT_PROC_CONTINUE if
vfork_in_flight is set.
Diffstat (limited to 'gdb/infttrace.c')
-rw-r--r-- | gdb/infttrace.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gdb/infttrace.c b/gdb/infttrace.c index 7f0910f..69a67df 100644 --- a/gdb/infttrace.c +++ b/gdb/infttrace.c @@ -4523,7 +4523,15 @@ child_resume (ptid_t ptid, int step, enum target_signal signal) pending signal will be passed to the inferior. interrupt.exp in the testsuite does this precise thing and fails due to the unwanted signal delivery to the inferior. */ - if (resume_all_threads) + /* drow/2002-12-05: However, note that we must use TT_PROC_CONTINUE + if we are tracing a vfork. */ + if (vfork_in_flight) + { + call_ttrace (TT_PROC_CONTINUE, tid, TT_NIL, TT_NIL, TT_NIL); + clear_all_handled (); + clear_all_stepping_mode (); + } + else if (resume_all_threads) { #ifdef THREAD_DEBUG if (debug_on) |