Loading libprocessgroup/cgroup_map.cpp +8 −0 Original line number Original line Diff line number Diff line Loading @@ -67,6 +67,13 @@ bool CgroupController::HasValue() const { return controller_ != nullptr; return controller_ != nullptr; } } bool CgroupController::IsUsable() const { if (!HasValue()) return false; uint32_t flags = ACgroupController_getFlags(controller_); return (flags & CGROUPRC_CONTROLLER_FLAG_MOUNTED) != 0; } std::string CgroupController::GetTasksFilePath(const std::string& rel_path) const { std::string CgroupController::GetTasksFilePath(const std::string& rel_path) const { std::string tasks_path = path(); std::string tasks_path = path(); Loading Loading @@ -153,6 +160,7 @@ void CgroupMap::Print() const { const ACgroupController* controller = ACgroupFile_getController(i); const ACgroupController* controller = ACgroupFile_getController(i); LOG(INFO) << "\t" << ACgroupController_getName(controller) << " ver " LOG(INFO) << "\t" << ACgroupController_getName(controller) << " ver " << ACgroupController_getVersion(controller) << " path " << ACgroupController_getVersion(controller) << " path " << ACgroupController_getFlags(controller) << " flags " << ACgroupController_getPath(controller); << ACgroupController_getPath(controller); } } } } Loading libprocessgroup/cgroup_map.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -38,6 +38,7 @@ class CgroupController { const char* path() const; const char* path() const; bool HasValue() const; bool HasValue() const; bool IsUsable() const; std::string GetTasksFilePath(const std::string& path) const; std::string GetTasksFilePath(const std::string& path) const; std::string GetProcsFilePath(const std::string& path, uid_t uid, pid_t pid) const; std::string GetProcsFilePath(const std::string& path, uid_t uid, pid_t pid) const; Loading libprocessgroup/cgrouprc/Android.bp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -42,19 +42,19 @@ cc_library { "libcgrouprc_format", "libcgrouprc_format", ], ], stubs: { stubs: { symbol_file: "libcgrouprc.map.txt", symbol_file: "libcgrouprc.llndk.txt", versions: ["29"], versions: ["29"], }, }, target: { target: { linux: { linux: { version_script: "libcgrouprc.map.txt", version_script: "libcgrouprc.llndk.txt", }, }, }, }, } } llndk_library { llndk_library { name: "libcgrouprc", name: "libcgrouprc", symbol_file: "libcgrouprc.map.txt", symbol_file: "libcgrouprc.llndk.txt", export_include_dirs: [ export_include_dirs: [ "include", "include", ], ], Loading libprocessgroup/cgrouprc/cgroup_controller.cpp +5 −0 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,11 @@ uint32_t ACgroupController_getVersion(const ACgroupController* controller) { return controller->version(); return controller->version(); } } uint32_t ACgroupController_getFlags(const ACgroupController* controller) { CHECK(controller != nullptr); return controller->flags(); } const char* ACgroupController_getName(const ACgroupController* controller) { const char* ACgroupController_getName(const ACgroupController* controller) { CHECK(controller != nullptr); CHECK(controller != nullptr); return controller->name(); return controller->name(); Loading libprocessgroup/cgrouprc/include/android/cgrouprc.h +12 −0 Original line number Original line Diff line number Diff line Loading @@ -65,6 +65,18 @@ __attribute__((warn_unused_result)) const ACgroupController* ACgroupFile_getCont __attribute__((warn_unused_result)) uint32_t ACgroupController_getVersion(const ACgroupController*) __attribute__((warn_unused_result)) uint32_t ACgroupController_getVersion(const ACgroupController*) __INTRODUCED_IN(29); __INTRODUCED_IN(29); /** * Flag bitmask used in ACgroupController_getFlags */ #define CGROUPRC_CONTROLLER_FLAG_MOUNTED 0x1 /** * Returns the flags bitmask of the given controller. * If the given controller is null, return 0. */ __attribute__((warn_unused_result)) uint32_t ACgroupController_getFlags(const ACgroupController*) __INTRODUCED_IN(29); /** /** * Returns the name of the given controller. * Returns the name of the given controller. * If the given controller is null, return nullptr. * If the given controller is null, return nullptr. Loading Loading
libprocessgroup/cgroup_map.cpp +8 −0 Original line number Original line Diff line number Diff line Loading @@ -67,6 +67,13 @@ bool CgroupController::HasValue() const { return controller_ != nullptr; return controller_ != nullptr; } } bool CgroupController::IsUsable() const { if (!HasValue()) return false; uint32_t flags = ACgroupController_getFlags(controller_); return (flags & CGROUPRC_CONTROLLER_FLAG_MOUNTED) != 0; } std::string CgroupController::GetTasksFilePath(const std::string& rel_path) const { std::string CgroupController::GetTasksFilePath(const std::string& rel_path) const { std::string tasks_path = path(); std::string tasks_path = path(); Loading Loading @@ -153,6 +160,7 @@ void CgroupMap::Print() const { const ACgroupController* controller = ACgroupFile_getController(i); const ACgroupController* controller = ACgroupFile_getController(i); LOG(INFO) << "\t" << ACgroupController_getName(controller) << " ver " LOG(INFO) << "\t" << ACgroupController_getName(controller) << " ver " << ACgroupController_getVersion(controller) << " path " << ACgroupController_getVersion(controller) << " path " << ACgroupController_getFlags(controller) << " flags " << ACgroupController_getPath(controller); << ACgroupController_getPath(controller); } } } } Loading
libprocessgroup/cgroup_map.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -38,6 +38,7 @@ class CgroupController { const char* path() const; const char* path() const; bool HasValue() const; bool HasValue() const; bool IsUsable() const; std::string GetTasksFilePath(const std::string& path) const; std::string GetTasksFilePath(const std::string& path) const; std::string GetProcsFilePath(const std::string& path, uid_t uid, pid_t pid) const; std::string GetProcsFilePath(const std::string& path, uid_t uid, pid_t pid) const; Loading
libprocessgroup/cgrouprc/Android.bp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -42,19 +42,19 @@ cc_library { "libcgrouprc_format", "libcgrouprc_format", ], ], stubs: { stubs: { symbol_file: "libcgrouprc.map.txt", symbol_file: "libcgrouprc.llndk.txt", versions: ["29"], versions: ["29"], }, }, target: { target: { linux: { linux: { version_script: "libcgrouprc.map.txt", version_script: "libcgrouprc.llndk.txt", }, }, }, }, } } llndk_library { llndk_library { name: "libcgrouprc", name: "libcgrouprc", symbol_file: "libcgrouprc.map.txt", symbol_file: "libcgrouprc.llndk.txt", export_include_dirs: [ export_include_dirs: [ "include", "include", ], ], Loading
libprocessgroup/cgrouprc/cgroup_controller.cpp +5 −0 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,11 @@ uint32_t ACgroupController_getVersion(const ACgroupController* controller) { return controller->version(); return controller->version(); } } uint32_t ACgroupController_getFlags(const ACgroupController* controller) { CHECK(controller != nullptr); return controller->flags(); } const char* ACgroupController_getName(const ACgroupController* controller) { const char* ACgroupController_getName(const ACgroupController* controller) { CHECK(controller != nullptr); CHECK(controller != nullptr); return controller->name(); return controller->name(); Loading
libprocessgroup/cgrouprc/include/android/cgrouprc.h +12 −0 Original line number Original line Diff line number Diff line Loading @@ -65,6 +65,18 @@ __attribute__((warn_unused_result)) const ACgroupController* ACgroupFile_getCont __attribute__((warn_unused_result)) uint32_t ACgroupController_getVersion(const ACgroupController*) __attribute__((warn_unused_result)) uint32_t ACgroupController_getVersion(const ACgroupController*) __INTRODUCED_IN(29); __INTRODUCED_IN(29); /** * Flag bitmask used in ACgroupController_getFlags */ #define CGROUPRC_CONTROLLER_FLAG_MOUNTED 0x1 /** * Returns the flags bitmask of the given controller. * If the given controller is null, return 0. */ __attribute__((warn_unused_result)) uint32_t ACgroupController_getFlags(const ACgroupController*) __INTRODUCED_IN(29); /** /** * Returns the name of the given controller. * Returns the name of the given controller. * If the given controller is null, return nullptr. * If the given controller is null, return nullptr. Loading