summaryrefslogtreecommitdiff
path: root/src/init/s6-linux-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/init/s6-linux-init.c')
-rw-r--r--src/init/s6-linux-init.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/init/s6-linux-init.c b/src/init/s6-linux-init.c
index c68d0f9..9e2d86e 100644
--- a/src/init/s6-linux-init.c
+++ b/src/init/s6-linux-init.c
@@ -21,6 +21,7 @@
#include <skalibs/sig.h>
#include <skalibs/env.h>
#include <skalibs/djbunix.h>
+#include <skalibs/exec.h>
#include <s6/config.h>
@@ -113,7 +114,7 @@ static inline void run_stage2 (char const *basedir, char const **argv, unsigned
if (fd_copy(2, 1) == -1)
strerr_diefu1sys(111, "fd_copy stdout to stderr") ;
}
- xpathexec_r(childargv, envp, envlen, modifs, modiflen) ;
+ xmexec_fm(childargv, envp, envlen, modifs, modiflen) ;
}
int main (int argc, char const **argv, char const *const *envp)
@@ -131,7 +132,7 @@ int main (int argc, char const **argv, char const *const *envp)
if (getpid() != 1)
{
argv[0] = S6_LINUX_INIT_BINPREFIX "s6-linux-init-telinit" ;
- xpathexec_run(argv[0], argv, envp) ;
+ xexec_e(argv, envp) ;
}
{
@@ -253,7 +254,7 @@ int main (int argc, char const **argv, char const *const *envp)
size_t pathlen = path ? strlen(path) : 0 ;
pid_t pid ;
char fmtfd[2 + UINT_FMT] = "-" ;
- char const *newargv[6] = { S6_EXTBINPREFIX "s6-svscan", "-st0", fmtfd, "--", S6_LINUX_INIT_TMPFS "/" SCANDIR, 0 } ;
+ char const *newargv[5] = { S6_EXTBINPREFIX "s6-svscan", fmtfd, "--", S6_LINUX_INIT_TMPFS "/" SCANDIR, 0 } ;
char pathvar[6 + pathlen] ;
if (path)
{
@@ -284,6 +285,6 @@ int main (int argc, char const **argv, char const *const *envp)
if (fd_copy(2, 1) == -1)
strerr_diefu1sys(111, "redirect output file descriptor") ;
}
- xpathexec_r(newargv, newenvp, !!path, envmodifs.s, envmodifs.len) ;
+ xmexec_fm(newargv, newenvp, !!path, envmodifs.s, envmodifs.len) ;
}
}