ifupdown: make it NOMMU-capable

This commit is contained in:
Denis Vlasenko 2008-03-19 16:24:17 +00:00
parent 7a60133c6c
commit 0764a7f72d

View File

@ -939,13 +939,13 @@ static int doit(char *str)
int status; int status;
fflush(NULL); fflush(NULL);
child = fork(); child = vfork();
switch (child) { switch (child) {
case -1: /* failure */ case -1: /* failure */
return 0; return 0;
case 0: /* child */ case 0: /* child */
execle(DEFAULT_SHELL, DEFAULT_SHELL, "-c", str, NULL, my_environ); execle(DEFAULT_SHELL, DEFAULT_SHELL, "-c", str, NULL, my_environ);
exit(127); _exit(127);
} }
safe_waitpid(child, &status, 0); safe_waitpid(child, &status, 0);
if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) { if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) {
@ -1008,11 +1008,11 @@ static int popen2(FILE **in, FILE **out, char *command, char *param)
xpiped_pair(outfd); xpiped_pair(outfd);
fflush(NULL); fflush(NULL);
pid = fork(); pid = vfork();
switch (pid) { switch (pid) {
case -1: /* failure */ case -1: /* failure */
bb_perror_msg_and_die("fork"); bb_perror_msg_and_die("vfork");
case 0: /* child */ case 0: /* child */
/* NB: close _first_, then move fds! */ /* NB: close _first_, then move fds! */
close(infd.wr); close(infd.wr);