Loading libprocessgroup/task_profiles.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -273,7 +273,7 @@ bool WriteFileAction::ExecuteForProcess(uid_t uid, pid_t pid) const { value = StringReplace(value, "<pid>", std::to_string(pid), true); if (!WriteStringToFile(value, filepath)) { PLOG(ERROR) << "Failed to write '" << value << "' to " << filepath; if (logfailures_) PLOG(ERROR) << "Failed to write '" << value << "' to " << filepath; return false; } Loading @@ -290,7 +290,7 @@ bool WriteFileAction::ExecuteForTask(int tid) const { value = StringReplace(value, "<pid>", std::to_string(tid), true); if (!WriteStringToFile(value, filepath)) { PLOG(ERROR) << "Failed to write '" << value << "' to " << filepath; if (logfailures_) PLOG(ERROR) << "Failed to write '" << value << "' to " << filepath; return false; } Loading Loading @@ -516,7 +516,10 @@ bool TaskProfiles::Load(const CgroupMap& cg_map, const std::string& file_name) { std::string attr_filepath = params_val["FilePath"].asString(); std::string attr_value = params_val["Value"].asString(); if (!attr_filepath.empty() && !attr_value.empty()) { profile->Add(std::make_unique<WriteFileAction>(attr_filepath, attr_value)); const Json::Value& logfailures = params_val["LogFailures"]; bool attr_logfailures = logfailures.isNull() || logfailures.asBool(); profile->Add(std::make_unique<WriteFileAction>(attr_filepath, attr_value, attr_logfailures)); } else if (attr_filepath.empty()) { LOG(WARNING) << "WriteFile: invalid parameter: " << "empty filepath"; Loading libprocessgroup/task_profiles.h +4 −2 Original line number Diff line number Diff line Loading @@ -142,14 +142,16 @@ class SetCgroupAction : public ProfileAction { // Write to file action class WriteFileAction : public ProfileAction { public: WriteFileAction(const std::string& filepath, const std::string& value) noexcept : filepath_(filepath), value_(value) {} WriteFileAction(const std::string& filepath, const std::string& value, bool logfailures) noexcept : filepath_(filepath), value_(value), logfailures_(logfailures) {} virtual bool ExecuteForProcess(uid_t uid, pid_t pid) const; virtual bool ExecuteForTask(int tid) const; private: std::string filepath_, value_; bool logfailures_; }; class TaskProfile { Loading Loading
libprocessgroup/task_profiles.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -273,7 +273,7 @@ bool WriteFileAction::ExecuteForProcess(uid_t uid, pid_t pid) const { value = StringReplace(value, "<pid>", std::to_string(pid), true); if (!WriteStringToFile(value, filepath)) { PLOG(ERROR) << "Failed to write '" << value << "' to " << filepath; if (logfailures_) PLOG(ERROR) << "Failed to write '" << value << "' to " << filepath; return false; } Loading @@ -290,7 +290,7 @@ bool WriteFileAction::ExecuteForTask(int tid) const { value = StringReplace(value, "<pid>", std::to_string(tid), true); if (!WriteStringToFile(value, filepath)) { PLOG(ERROR) << "Failed to write '" << value << "' to " << filepath; if (logfailures_) PLOG(ERROR) << "Failed to write '" << value << "' to " << filepath; return false; } Loading Loading @@ -516,7 +516,10 @@ bool TaskProfiles::Load(const CgroupMap& cg_map, const std::string& file_name) { std::string attr_filepath = params_val["FilePath"].asString(); std::string attr_value = params_val["Value"].asString(); if (!attr_filepath.empty() && !attr_value.empty()) { profile->Add(std::make_unique<WriteFileAction>(attr_filepath, attr_value)); const Json::Value& logfailures = params_val["LogFailures"]; bool attr_logfailures = logfailures.isNull() || logfailures.asBool(); profile->Add(std::make_unique<WriteFileAction>(attr_filepath, attr_value, attr_logfailures)); } else if (attr_filepath.empty()) { LOG(WARNING) << "WriteFile: invalid parameter: " << "empty filepath"; Loading
libprocessgroup/task_profiles.h +4 −2 Original line number Diff line number Diff line Loading @@ -142,14 +142,16 @@ class SetCgroupAction : public ProfileAction { // Write to file action class WriteFileAction : public ProfileAction { public: WriteFileAction(const std::string& filepath, const std::string& value) noexcept : filepath_(filepath), value_(value) {} WriteFileAction(const std::string& filepath, const std::string& value, bool logfailures) noexcept : filepath_(filepath), value_(value), logfailures_(logfailures) {} virtual bool ExecuteForProcess(uid_t uid, pid_t pid) const; virtual bool ExecuteForTask(int tid) const; private: std::string filepath_, value_; bool logfailures_; }; class TaskProfile { Loading