aboutsummaryrefslogtreecommitdiff
path: root/toys/pending/sh.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/pending/sh.c')
-rw-r--r--toys/pending/sh.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/toys/pending/sh.c b/toys/pending/sh.c
index 87f2f9ff..e221960a 100644
--- a/toys/pending/sh.c
+++ b/toys/pending/sh.c
@@ -26,6 +26,9 @@ USE_SH(NEWTOY(exit, NULL, TOYFLAG_NOFORK))
USE_SH(NEWTOY(sh, "c:i", TOYFLAG_BIN))
USE_SH(OLDTOY(toysh, sh, TOYFLAG_BIN))
+// Login lies in argv[0], so add some aliases to catch that
+USE_SH(OLDTOY(-sh, sh, 0))
+USE_SH(OLDTOY(-toysh, sh, 0))
config SH
bool "sh (toysh)"
@@ -305,7 +308,7 @@ static void run_pipeline(struct pipeline *line)
} else {
int status;
- cmd->pid = xvfork();
+ cmd->pid = vfork();
if (!cmd->pid) xexec(cmd->argv);
else waitpid(cmd->pid, &status, 0);