knows that exit() doesn't return.
SCCS-vsn: sys/kern/kern_exit.c 7.52
SCCS-vsn: sys/kern/kern_sig.c 7.53
SCCS-vsn: sys/kern/sys_process.c 7.36
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)kern_exit.c 7.51 (Berkeley) %G%
+ * @(#)kern_exit.c 7.52 (Berkeley) %G%
*/
#include <sys/param.h>
*/
#include <sys/param.h>
- exit(p, W_EXITCODE(uap->rval, 0));
+ exit1(p, W_EXITCODE(uap->rval, 0));
* and parent's lists. Save exit status and rusage for wait().
* Check for child processes and orphan them.
*/
* and parent's lists. Save exit status and rusage for wait().
* Check for child processes and orphan them.
*/
register struct proc *p;
int rv;
{
register struct proc *p;
int rv;
{
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)kern_sig.c 7.52 (Berkeley) %G%
+ * @(#)kern_sig.c 7.53 (Berkeley) %G%
*/
#define SIGPROP /* include signal properties table */
*/
#define SIGPROP /* include signal properties table */
if (coredump(p) == 0)
sig |= WCOREFLAG;
}
if (coredump(p) == 0)
sig |= WCOREFLAG;
}
- exit(p, W_EXITCODE(0, sig));
+ exit1(p, W_EXITCODE(0, sig));
*
* %sccs.include.proprietary.c%
*
*
* %sccs.include.proprietary.c%
*
- * @(#)sys_process.c 7.35 (Berkeley) %G%
+ * @(#)sys_process.c 7.36 (Berkeley) %G%
case PT_KILL: /* kill the child process */
wakeup((caddr_t)&ipc);
case PT_KILL: /* kill the child process */
wakeup((caddr_t)&ipc);
- exit(p, (int)p->p_xstat);
+ exit1(p, (int)p->p_xstat);
case PT_DETACH: /* stop tracing the child */
regs = (int *)((short *)regs + 1);
case PT_DETACH: /* stop tracing the child */
regs = (int *)((short *)regs + 1);