Merge "init: Set oom_score_adj to snapuserd process" am: cb3ef68f22

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

Change-Id: I194a210259959840130a7d4bbfa13c2f5f027e49
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Akilesh Kailash 2022-06-02 21:32:49 +00:00 committed by Automerger Merge Worker
commit 1aae2b57f6

View file

@ -29,6 +29,7 @@
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/parseint.h>
#include <android-base/stringprintf.h>
#include <android-base/strings.h>
#include <android-base/unique_fd.h>
#include <cutils/sockets.h>
@ -40,6 +41,7 @@
#include <snapuserd/snapuserd_client.h>
#include "block_dev_initializer.h"
#include "lmkd_service.h"
#include "service_utils.h"
#include "util.h"
@ -320,6 +322,14 @@ void SnapuserdSelinuxHelper::RelaunchFirstStageSnapuserd() {
LOG(INFO) << "Relaunched snapuserd with pid: " << pid;
// Since daemon is not started as a service, we have
// to explicitly set the OOM score to default which is unkillable
std::string oom_str = std::to_string(DEFAULT_OOM_SCORE_ADJUST);
std::string oom_file = android::base::StringPrintf("/proc/%d/oom_score_adj", pid);
if (!android::base::WriteStringToFile(oom_str, oom_file)) {
PLOG(ERROR) << "couldn't write oom_score_adj to snapuserd daemon with pid: " << pid;
}
if (!TestSnapuserdIsReady()) {
PLOG(FATAL) << "snapuserd daemon failed to launch";
} else {