From aa1d54f0ccbb01c636ba05be130c03cc28c9bb9e Mon Sep 17 00:00:00 2001 From: Suren Baghdasaryan Date: Wed, 12 Jun 2019 06:43:20 -0700 Subject: Remove ACgroupController_getFlags to fix API breakage Since ACgroupController_getFlags was introduced after LLNDK freeze it causes media crashes due to missing symbol. Remove the new function and re-implement cgroup controller detection to not require flags field but instead check for its existence on the first access. Bug: 135049992 Test: libcutils_test with and without CONFIG_CPUSETS enabled Change-Id: I0220d6a926884dc22a7424d7d0a980c379c6f4eb Merged-In: I0220d6a926884dc22a7424d7d0a980c379c6f4eb Signed-off-by: Suren Baghdasaryan --- libprocessgroup/cgroup_map.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'libprocessgroup/cgroup_map.cpp') diff --git a/libprocessgroup/cgroup_map.cpp b/libprocessgroup/cgroup_map.cpp index 92fcd1e71..9797d763f 100644 --- a/libprocessgroup/cgroup_map.cpp +++ b/libprocessgroup/cgroup_map.cpp @@ -70,8 +70,8 @@ bool CgroupController::HasValue() const { bool CgroupController::IsUsable() const { if (!HasValue()) return false; - uint32_t flags = ACgroupController_getFlags(controller_); - return (flags & CGROUPRC_CONTROLLER_FLAG_MOUNTED) != 0; + static bool enabled = (access(GetProcsFilePath("", 0, 0).c_str(), F_OK) == 0); + return enabled; } std::string CgroupController::GetTasksFilePath(const std::string& rel_path) const { @@ -160,7 +160,6 @@ void CgroupMap::Print() const { const ACgroupController* controller = ACgroupFile_getController(i); LOG(INFO) << "\t" << ACgroupController_getName(controller) << " ver " << ACgroupController_getVersion(controller) << " path " - << ACgroupController_getFlags(controller) << " flags " << ACgroupController_getPath(controller); } } -- cgit v1.2.3