Fix build error 58/227758/1
authorHyotaek Shim <hyotaek.shim@samsung.com>
Mon, 16 Mar 2020 08:03:21 +0000 (17:03 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Mon, 16 Mar 2020 08:03:41 +0000 (17:03 +0900)
[   39s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_map.h: In member function 'int LowmemLimitEnv::
cgroup_make_subdir(const char*, const char*, bool*)':
[   39s] /usr/lib/gcc/armv7l-tizen-linux-gnueabi/9.2.0/include/c++/bits/stl_map.h:499:8: note: parameter passing for argument of
type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, LowmemLimitEnv::CGroupData>
, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, LowmemLimitEnv::CGroupData> >, std::less<std::__cxx11::basic_
string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, LowmemLimitEnv::CGroupData> > >::const_iterator'
{aka 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, LowmemLimitEnv::CGroupData> >'} changed in GCC 7.1

Change-Id: Ia62b225a8d26983eced992f7dac5d6b625254487
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
tests/lowmem-limit-env.cpp

index 9b66d0a..af60a94 100644 (file)
@@ -56,7 +56,7 @@ void LowmemLimitEnv::reinit()
        apps.clear();
        fd_handlers.clear();
        cgroup_memory.clear();
-       cgroup_memory[default_cgroup_memory] = CGroupData{{default_cgroup_usage}};
+       cgroup_memory[std::string(default_cgroup_memory)] = CGroupData{{default_cgroup_usage}};
        eventfds.clear();
        last_eventfd = INITIAL_FD;
 }
@@ -110,7 +110,7 @@ void LowmemLimitEnv::configure_remove_app(pid_t pid)
 
 void LowmemLimitEnv::configure_cgroup_usages(const char *cgroup, unsigned long sw_usage, unsigned long usage)
 {
-       auto cg_name = std::string("/sys/fs/cgroup/memory/MemLimit/") + cgroup;
+       auto cg_name = std::string("/sys/fs/cgroup/memory/MemLimit/") + std::string(cgroup);
        auto &cg = cgroup_memory[cg_name];
        cg.files["memory.memsw.usage_in_bytes"] = std::to_string(sw_usage);
        cg.files["memory.usage_in_bytes"] = std::to_string(usage);
@@ -295,9 +295,9 @@ int LowmemLimitEnv::cgroup_write_node_uint32(const char *cgroup_name, const char
        const std::string fname = file_name;
 
        if (fname == "/cgroup.procs") {
-               cgroup_memory[cgroup_name].pids.push_back(value);
+               cgroup_memory[std::string(cgroup_name)].pids.push_back(value);
        } else {
-               cgroup_memory[cgroup_name].files[fname] = std::to_string(value);
+               cgroup_memory[std::string(cgroup_name)].files[fname] = std::to_string(value);
        }
        return 0;
 }
@@ -312,7 +312,7 @@ int LowmemLimitEnv::cgroup_read_node_uint32(const char *cgroup_name, const char
                return -1;
        }
 
-       auto it_file = it->second.files.find(file_name);
+       auto it_file = it->second.files.find(std::string(file_name));
        if (it_file == it->second.files.end()) {
                std::cerr << "file " << file_name << " not found\n";
                return -1;
@@ -327,7 +327,7 @@ int LowmemLimitEnv::cgroup_read_node_uint32(const char *cgroup_name, const char
 int LowmemLimitEnv::cgroup_get_memory_stat(const char *name, struct cgroup_memory_stat **mem_stat)
 {
        std::cerr << " name=" << name << std::endl;
-       auto &cg = cgroup_memory[name];
+       auto &cg = cgroup_memory[std::string(name)];
        auto *ms = reinterpret_cast<cgroup_memory_stat*>(malloc(sizeof(cgroup_memory_stat)));
        for (int i = 0; i < CGROUP_MEMORY_STAT_MAX; i++)
                ms->value[i] = cg.memory_stat.value[i];
@@ -341,11 +341,11 @@ int LowmemLimitEnv::cgroup_make_subdir(const char* parentdir, const char* cgroup
        check_expected(cgroup_name);
 
        std::cerr << " parentdir=" << parentdir << " cgroup_name=" << cgroup_name << std::endl;
-       std::string cgroup = parentdir;
+       std::string cgroup = std::string(parentdir);
        cgroup += "/";
-       cgroup += cgroup_name;
+       cgroup += std::string(cgroup_name);
 
-       auto it = cgroup_memory.find(cgroup_name);
+       auto it = cgroup_memory.find(std::string(cgroup_name));
        if (it == cgroup_memory.end()) {
                cgroup_memory[cgroup] =
                CGroupData{{{"memory.limit_in_bytes", "1"},