2004-09-29 Andrew Cagney <cagney@gnu.org>

* infptrace.c (ptrace_wait): Mention problem with HPUX.
	(kill_inferior): Inline ptrace_wait call.
	* linux-nat.c (kill_inferior): Inline ptrace_wait call.
	* inftarg.c (child_wait): Inline ptrace_wait call.
This commit is contained in:
Andrew Cagney 2004-09-29 15:55:55 +00:00
parent a182eed6e2
commit ee21b650be
4 changed files with 16 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2004-09-29 Andrew Cagney <cagney@gnu.org>
* infptrace.c (ptrace_wait): Mention problem with HPUX.
(kill_inferior): Inline ptrace_wait call.
* linux-nat.c (kill_inferior): Inline ptrace_wait call.
* inftarg.c (child_wait): Inline ptrace_wait call.
2004-09-29 Andrew Cagney <cagney@gnu.org>
* target.h (struct target_ops): Delete field to_post_wait.

View File

@ -138,6 +138,10 @@ call_ptrace (int request, int pid, PTRACE_ARG3_TYPE addr, int data)
/* Wait for a process to finish, possibly running a target-specific
hook before returning. */
/* NOTE: cagney: 2004-09-29: Dependant on the native configuration,
"hppah-nat.c" may either call this or infttrace.c's implementation
of ptrace_wait. See "hppahpux.mh". */
int
ptrace_wait (ptid_t ptid, int *status)
{
@ -170,7 +174,7 @@ kill_inferior (void)
The kill call causes problems under hpux10, so it's been removed;
if this causes problems we'll deal with them as they arise. */
ptrace (PT_KILL, pid, (PTRACE_TYPE_ARG3) 0, 0);
ptrace_wait (null_ptid, &status);
wait (status);
target_mourn_inferior ();
}
#endif /* DEPRECATED_KILL_INFERIOR */

View File

@ -113,7 +113,7 @@ child_wait (ptid_t ptid, struct target_waitstatus *ourstatus)
attached process. */
set_sigio_trap ();
pid = ptrace_wait (inferior_ptid, &status);
pid = wait (&status);
save_errno = errno;

View File

@ -522,12 +522,12 @@ kill_inferior (void)
|| last.kind == TARGET_WAITKIND_VFORKED)
{
ptrace (PT_KILL, last.value.related_pid, 0, 0);
ptrace_wait (null_ptid, &status);
wait (&status);
}
/* Kill the current process. */
ptrace (PT_KILL, pid, 0, 0);
ret = ptrace_wait (null_ptid, &status);
ret = wait (&status);
/* We might get a SIGCHLD instead of an exit status. This is
aggravated by the first kill above - a child has just died. */
@ -535,7 +535,7 @@ kill_inferior (void)
while (ret == pid && WIFSTOPPED (status))
{
ptrace (PT_KILL, pid, 0, 0);
ret = ptrace_wait (null_ptid, &status);
ret = wait (&status);
}
target_mourn_inferior ();