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

Commit 66c0975a authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge changes Ie74b9c27,If2224475 into main am: b45c8ad0

parents 8a74ce94 b45c8ad0
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -520,8 +520,14 @@ static populated_status cgroupIsPopulated(int events_fd) {
static int KillProcessGroup(
        uid_t uid, pid_t initialPid, int signal, bool once = false,
        std::chrono::steady_clock::time_point until = std::chrono::steady_clock::now() + 2200ms) {
    CHECK_GE(uid, 0);
    CHECK_GT(initialPid, 0);
    if (uid < 0) {
        LOG(ERROR) << __func__ << ": invalid UID " << uid;
        return -1;
    }
    if (initialPid <= 0) {
        LOG(ERROR) << __func__ << ": invalid PID " << initialPid;
        return -1;
    }

    // Always attempt to send a kill signal to at least the initialPid, at least once, regardless of
    // whether its cgroup exists or not. This should only be necessary if a bug results in the
@@ -681,8 +687,14 @@ static int createProcessGroupInternal(uid_t uid, pid_t initialPid, std::string c
}

int createProcessGroup(uid_t uid, pid_t initialPid, bool memControl) {
    CHECK_GE(uid, 0);
    CHECK_GT(initialPid, 0);
    if (uid < 0) {
        LOG(ERROR) << __func__ << ": invalid UID " << uid;
        return -1;
    }
    if (initialPid <= 0) {
        LOG(ERROR) << __func__ << ": invalid PID " << initialPid;
        return -1;
    }

    if (memControl && !UsePerAppMemcg()) {
        LOG(ERROR) << "service memory controls are used without per-process memory cgroup support";