diff options
author | Eric Andersen | 2004-04-12 17:59:24 +0000 |
---|---|---|
committer | Eric Andersen | 2004-04-12 17:59:24 +0000 |
commit | e3efc9230c2f192e2738cee733c6d4fa20a2be2a (patch) | |
tree | 4f31c690a602713220868b2d6f98bf4aaf53eeed | |
parent | a08345598d7c6d428db30cdcf8e5e7d317362da0 (diff) | |
download | busybox-e3efc9230c2f192e2738cee733c6d4fa20a2be2a.zip busybox-e3efc9230c2f192e2738cee733c6d4fa20a2be2a.tar.gz |
Jamie Guinan writes:
It looks like latest uClibc defines ARCH_HAS_MMU, but a few busybox files
test UCLIBC_HAS_MMU, resulting in vfork() getting called instead of
fork(), etc.
Patch below. Only tested for lash.
Cheers,
-Jamie
-rw-r--r-- | init/init.c | 6 | ||||
-rw-r--r-- | shell/hush.c | 4 | ||||
-rw-r--r-- | shell/lash.c | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/init/init.c b/init/init.c index 159b539..ae2fd4c 100644 --- a/init/init.c +++ b/init/init.c @@ -53,7 +53,7 @@ #endif -#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_MMU__) +#if defined(__UCLIBC__) && !defined(__ARCH_HAS_MMU__) #define fork vfork #endif @@ -913,7 +913,7 @@ static void check_memory(void) if (check_free_memory() > 1000) return; -#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__) +#if !defined(__UCLIBC__) || defined(__ARCH_HAS_MMU__) if (stat("/etc/fstab", &statBuf) == 0) { /* swapon -a requires /proc typically */ new_init_action(SYSINIT, "/bin/mount -t proc proc /proc", ""); @@ -957,7 +957,7 @@ static void parse_inittab(void) new_init_action(CTRLALTDEL, "/sbin/reboot", ""); /* Umount all filesystems on halt/reboot */ new_init_action(SHUTDOWN, "/bin/umount -a -r", ""); -#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__) +#if !defined(__UCLIBC__) || defined(__ARCH_HAS_MMU__) /* Swapoff on halt/reboot */ new_init_action(SHUTDOWN, "/sbin/swapoff -a", ""); #endif diff --git a/shell/hush.c b/shell/hush.c index ad5ddf0..8f4cc97 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -1439,7 +1439,7 @@ static int run_pipe_real(struct pipe *pi) } /* XXX test for failed fork()? */ -#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__) +#if !defined(__UCLIBC__) || defined(__ARCH_HAS_MMU__) if (!(child->pid = fork())) #else if (!(child->pid = vfork())) @@ -2258,7 +2258,7 @@ FILE *generate_stream_from_list(struct pipe *head) #if 1 int pid, channel[2]; if (pipe(channel)<0) bb_perror_msg_and_die("pipe"); -#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__) +#if !defined(__UCLIBC__) || defined(__ARCH_HAS_MMU__) pid=fork(); #else pid=vfork(); diff --git a/shell/lash.c b/shell/lash.c index b46cee8..fa416c7 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -1380,7 +1380,7 @@ static int run_command(struct job *newjob, int inbg, int outpipe[2]) } } -#if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__) +#if !defined(__UCLIBC__) || defined(__ARCH_HAS_MMU__) if (!(child->pid = fork())) #else if (!(child->pid = vfork())) |