diff options
Diffstat (limited to 'init/init.cpp')
| -rw-r--r-- | init/init.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/init/init.cpp b/init/init.cpp index ba880ea32f..cb5bbbab97 100644 --- a/init/init.cpp +++ b/init/init.cpp @@ -18,6 +18,7 @@ #include <dirent.h> #include <fcntl.h> +#include <paths.h> #include <pthread.h> #include <signal.h> #include <stdlib.h> @@ -727,6 +728,12 @@ int SecondStageMain(int argc, char** argv) { InitSecondStageLogging(argv); LOG(INFO) << "init second stage started!"; + // Update $PATH in the case the second stage init is newer than first stage init, where it is + // first set. + if (setenv("PATH", _PATH_DEFPATH, 1) != 0) { + PLOG(FATAL) << "Could not set $PATH to '" << _PATH_DEFPATH << "' in second stage"; + } + // Init should not crash because of a dependence on any other process, therefore we ignore // SIGPIPE and handle EPIPE at the call site directly. Note that setting a signal to SIG_IGN // is inherited across exec, but custom signal handlers are not. Since we do not want to |
