aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2020-06-01 08:43:17 +0100
committerRon Yorston <rmy@pobox.com>2020-06-01 08:43:17 +0100
commit3c5995713d91df7b6f803b34e43df188646b0676 (patch)
tree8e00d001cb509aa1f448cebdfb5d12eb9d743c18 /include
parentf81fcc84134ab2f29816dbfaf2e5af9ee62d2691 (diff)
downloadbusybox-w32-3c5995713d91df7b6f803b34e43df188646b0676.tar.gz
busybox-w32-3c5995713d91df7b6f803b34e43df188646b0676.tar.bz2
busybox-w32-3c5995713d91df7b6f803b34e43df188646b0676.zip
ash: simplify spawning during forkshell
spawn_forkshell() uses mingw_spawn_proc() to start the child shell. mingw_spawn_proc() then calls mingw_spawn_1() which determines that "sh" is an applet, thus calling mingw_spawn_applet() which finally calls spawnveq(). Not only is this convoluted it also won't work if PREFER_APPLETS and SH_STANDALONE aren't enabled. Simplify matters by adding a new function, mingw_spawn_forkshell(), which is tailored for just this case.
Diffstat (limited to 'include')
-rw-r--r--include/mingw.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/mingw.h b/include/mingw.h
index 39d716521..26f0688d7 100644
--- a/include/mingw.h
+++ b/include/mingw.h
@@ -477,6 +477,7 @@ DIR *mingw_opendir(const char *path);
477pid_t FAST_FUNC mingw_spawn(char **argv); 477pid_t FAST_FUNC mingw_spawn(char **argv);
478pid_t FAST_FUNC mingw_spawn_detach(char **argv); 478pid_t FAST_FUNC mingw_spawn_detach(char **argv);
479intptr_t FAST_FUNC mingw_spawn_proc(const char **argv); 479intptr_t FAST_FUNC mingw_spawn_proc(const char **argv);
480intptr_t FAST_FUNC mingw_spawn_forkshell(const char **argv);
480int mingw_execv(const char *cmd, char *const *argv); 481int mingw_execv(const char *cmd, char *const *argv);
481int mingw_execvp(const char *cmd, char *const *argv); 482int mingw_execvp(const char *cmd, char *const *argv);
482int mingw_execve(const char *cmd, char *const *argv, char *const *envp); 483int mingw_execve(const char *cmd, char *const *argv, char *const *envp);