Change static variables for cgroup pattern matching to be local 09/161809/3 accepted/tizen/unified/20171130.063318 submit/tizen/20171129.063304 submit/tizen_4.0/20171129.062733
authorSungbae Yoo <sungbae.yoo@samsung.com>
Mon, 27 Nov 2017 12:36:04 +0000 (21:36 +0900)
committerJaemin Ryu <jm77.ryu@samsung.com>
Wed, 29 Nov 2017 06:10:09 +0000 (06:10 +0000)
Signed-off-by: Sungbae Yoo <sungbae.yoo@samsung.com>
Change-Id: I1faea53df9853bfe6ea12578701c5c017b9481ac

src/cgroup.cpp

index 0087226539f38110fe3d245aa27dead6901f599f..c04f6bb94a38510d673ec3f77417e4401017fa85 100644 (file)
 #include <klay/exception.h>
 #include <klay/filesystem.h>
 
+#define NAME_PATTERN "^[A-Za-z_][A-Za-z0-9_-]*"
+#define PATH_PATTERN "(/*[A-Za-z_][A-Za-z0-9_-]*)*"
 
 namespace runtime {
 
-namespace {
-
-static std::regex namePattern("^[A-Za-z_][A-Za-z0-9_-]*");
-static std::regex pathPattern("(/*[A-Za-z_][A-Za-z0-9_-]*)*");
-
-} // namespace
-
 bool Cgroup::existSubsystem(const std::string& name)
 {
-       if (!std::regex_match(name, namePattern)) {
+       if (!std::regex_match(name, std::regex(NAME_PATTERN))) {
                return false;
        }
 
@@ -56,7 +51,7 @@ bool Cgroup::existSubsystem(const std::string& name)
 
 void Cgroup::createSubsystem(const std::string& name)
 {
-       if (!std::regex_match(name, namePattern)) {
+       if (!std::regex_match(name, std::regex(NAME_PATTERN))) {
                throw runtime::Exception("Invalid subsystem name");
        }
 
@@ -115,7 +110,7 @@ void Cgroup::destroySubsystem(const std::string& name)
 
 bool Cgroup::exist(const std::string& subsystem, const std::string& path)
 {
-       if (!std::regex_match(path, pathPattern)) {
+       if (!std::regex_match(path, std::regex(PATH_PATTERN))) {
                return false;
        }
 
@@ -132,7 +127,7 @@ bool Cgroup::exist(const std::string& subsystem, const std::string& path)
 
 void Cgroup::create(const std::string& subsystem, const std::string& path)
 {
-       if (!std::regex_match(path, pathPattern)) {
+       if (!std::regex_match(path, std::regex(PATH_PATTERN))) {
                throw runtime::Exception("Invalid path");
        }