* 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.
This commit is contained in:
Daniel Jacobowitz
2002-12-11 02:02:03 +00:00
parent 8e7d2c1695
commit 7d2830a309
4 changed files with 113 additions and 49 deletions

View File

@ -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)