Add in some (theoretical) uClinux support. Some init cleanups
This commit is contained in:
@@ -6756,7 +6756,11 @@ forkshell(struct job *jp, const union node *n, int mode)
|
||||
TRACE(("forkshell(%%%d, 0x%lx, %d) called\n", jp - jobtab, (long)n,
|
||||
mode));
|
||||
INTOFF;
|
||||
#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
|
||||
pid = fork();
|
||||
#else
|
||||
pid = vfork();
|
||||
#endif
|
||||
if (pid == -1) {
|
||||
TRACE(("Fork failed, errno=%d\n", errno));
|
||||
INTON;
|
||||
@@ -12627,7 +12631,7 @@ findvar(struct var **vpp, const char *name)
|
||||
/*
|
||||
* Copyright (c) 1999 Herbert Xu <herbert@debian.org>
|
||||
* This file contains code for the times builtin.
|
||||
* $Id: ash.c,v 1.31 2001/10/24 17:19:35 andersen Exp $
|
||||
* $Id: ash.c,v 1.32 2001/10/28 05:12:18 andersen Exp $
|
||||
*/
|
||||
static int timescmd (int argc, char **argv)
|
||||
{
|
||||
|
||||
11
shell/hush.c
11
shell/hush.c
@@ -1403,7 +1403,12 @@ static int run_pipe_real(struct pipe *pi)
|
||||
}
|
||||
|
||||
/* XXX test for failed fork()? */
|
||||
if (!(child->pid = fork())) {
|
||||
#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
|
||||
if (!(child->pid = fork()))
|
||||
#else
|
||||
if (!(child->pid = vfork()))
|
||||
#endif
|
||||
{
|
||||
/* Set the handling for job control signals back to the default. */
|
||||
signal(SIGINT, SIG_DFL);
|
||||
signal(SIGQUIT, SIG_DFL);
|
||||
@@ -2118,7 +2123,11 @@ FILE *generate_stream_from_list(struct pipe *head)
|
||||
#if 1
|
||||
int pid, channel[2];
|
||||
if (pipe(channel)<0) perror_msg_and_die("pipe");
|
||||
#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
|
||||
pid=fork();
|
||||
#else
|
||||
pid=vfork();
|
||||
#endif
|
||||
if (pid<0) {
|
||||
perror_msg_and_die("fork");
|
||||
} else if (pid==0) {
|
||||
|
||||
@@ -1347,7 +1347,12 @@ static int run_command(struct job *newjob, int inbg, int outpipe[2])
|
||||
}
|
||||
}
|
||||
|
||||
if (!(child->pid = fork())) {
|
||||
#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
|
||||
if (!(child->pid = fork()))
|
||||
#else
|
||||
if (!(child->pid = vfork()))
|
||||
#endif
|
||||
{
|
||||
/* Set the handling for job control signals back to the default. */
|
||||
signal(SIGINT, SIG_DFL);
|
||||
signal(SIGQUIT, SIG_DFL);
|
||||
|
||||
Reference in New Issue
Block a user