Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e06df877 authored by Hung-ying Tyan's avatar Hung-ying Tyan Committed by Automerger Merge Worker
Browse files

Merge "init: set $PATH in second stage init" am: d1bd5f20 am: 7ff4055b am: 4a1a73d1

Original change: https://android-review.googlesource.com/c/platform/system/core/+/1372196

Change-Id: Id4dfb29985752577b3bf08bdbe37aacbeef65727
parents d7cb2ed2 4a1a73d1
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@


#include <dirent.h>
#include <dirent.h>
#include <fcntl.h>
#include <fcntl.h>
#include <paths.h>
#include <pthread.h>
#include <pthread.h>
#include <signal.h>
#include <signal.h>
#include <stdlib.h>
#include <stdlib.h>
@@ -727,6 +728,12 @@ int SecondStageMain(int argc, char** argv) {
    InitSecondStageLogging(argv);
    InitSecondStageLogging(argv);
    LOG(INFO) << "init second stage started!";
    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
    // 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
    // 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
    // is inherited across exec, but custom signal handlers are not.  Since we do not want to