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;
}
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);
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;
}
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;
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];
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"},