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

Commit 296446e3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge changes I68fa51f8,Ia16aa041,Iba57f5cf into main am: 4c5b2303

parents 4269705b 4c5b2303
Loading
Loading
Loading
Loading
+0 −14
Original line number Original line Diff line number Diff line
@@ -18,33 +18,19 @@
#define LOG_TAG "libprocessgroup"
#define LOG_TAG "libprocessgroup"


#include <errno.h>
#include <errno.h>
#include <fcntl.h>
#include <grp.h>
#include <pwd.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <time.h>
#include <unistd.h>
#include <unistd.h>


#include <regex>
#include <regex>


#include <android-base/file.h>
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
#include <android-base/stringprintf.h>
#include <android-base/stringprintf.h>
#include <android-base/strings.h>
#include <android-base/strings.h>
#include <android-base/unique_fd.h>
#include <cgroup_map.h>
#include <cgroup_map.h>
#include <json/reader.h>
#include <json/value.h>
#include <processgroup/processgroup.h>
#include <processgroup/processgroup.h>


using android::base::GetBoolProperty;
using android::base::StartsWith;
using android::base::StartsWith;
using android::base::StringPrintf;
using android::base::StringPrintf;
using android::base::unique_fd;
using android::base::WriteStringToFile;
using android::base::WriteStringToFile;


static constexpr const char* CGROUP_PROCS_FILE = "/cgroup.procs";
static constexpr const char* CGROUP_PROCS_FILE = "/cgroup.procs";
+2 −7
Original line number Original line Diff line number Diff line
@@ -16,14 +16,9 @@


#pragma once
#pragma once


#include <sys/cdefs.h>
#include <sys/types.h>
#include <sys/types.h>


#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <string>
#include <vector>


#include <android/cgrouprc.h>
#include <android/cgrouprc.h>


@@ -32,7 +27,7 @@ class CgroupController {
  public:
  public:
    // Does not own controller
    // Does not own controller
    explicit CgroupController(const ACgroupController* controller)
    explicit CgroupController(const ACgroupController* controller)
        : controller_(controller), state_(UNKNOWN) {}
        : controller_(controller) {}


    uint32_t version() const;
    uint32_t version() const;
    const char* name() const;
    const char* name() const;
@@ -53,7 +48,7 @@ class CgroupController {
    };
    };


    const ACgroupController* controller_ = nullptr;
    const ACgroupController* controller_ = nullptr;
    ControllerState state_;
    ControllerState state_ = ControllerState::UNKNOWN;
};
};


class CgroupMap {
class CgroupMap {
+1 −6
Original line number Original line Diff line number Diff line
@@ -20,14 +20,9 @@ namespace android {
namespace cgrouprc {
namespace cgrouprc {
namespace format {
namespace format {


CgroupController::CgroupController() : version_(0), flags_(0) {
    memset(name_, 0, sizeof(name_));
    memset(path_, 0, sizeof(path_));
}

CgroupController::CgroupController(uint32_t version, uint32_t flags, const std::string& name,
CgroupController::CgroupController(uint32_t version, uint32_t flags, const std::string& name,
                                   const std::string& path)
                                   const std::string& path)
    : CgroupController() {
{
    // strlcpy isn't available on host. Although there is an implementation
    // strlcpy isn't available on host. Although there is an implementation
    // in licutils, libcutils itself depends on libcgrouprc_format, causing
    // in licutils, libcutils itself depends on libcgrouprc_format, causing
    // a circular dependency.
    // a circular dependency.
+7 −6
Original line number Original line Diff line number Diff line
@@ -16,7 +16,8 @@


#pragma once
#pragma once


#include <stdint.h>
#include <cstddef>
#include <cstdint>
#include <string>
#include <string>


namespace android {
namespace android {
@@ -26,7 +27,7 @@ namespace format {
// Minimal controller description to be mmapped into process address space
// Minimal controller description to be mmapped into process address space
struct CgroupController {
struct CgroupController {
  public:
  public:
    CgroupController();
    CgroupController() = default;
    CgroupController(uint32_t version, uint32_t flags, const std::string& name,
    CgroupController(uint32_t version, uint32_t flags, const std::string& name,
                     const std::string& path);
                     const std::string& path);


@@ -41,10 +42,10 @@ struct CgroupController {
    static constexpr size_t CGROUP_NAME_BUF_SZ = 16;
    static constexpr size_t CGROUP_NAME_BUF_SZ = 16;
    static constexpr size_t CGROUP_PATH_BUF_SZ = 32;
    static constexpr size_t CGROUP_PATH_BUF_SZ = 32;


    uint32_t version_;
    uint32_t version_ = 0;
    uint32_t flags_;
    uint32_t flags_ = 0;
    char name_[CGROUP_NAME_BUF_SZ];
    char name_[CGROUP_NAME_BUF_SZ] = {};
    char path_[CGROUP_PATH_BUF_SZ];
    char path_[CGROUP_PATH_BUF_SZ] = {};
};
};


}  // namespace format
}  // namespace format
+2 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,8 @@


#pragma once
#pragma once


#include <cstdint>

#include <processgroup/format/cgroup_controller.h>
#include <processgroup/format/cgroup_controller.h>


namespace android {
namespace android {
Loading