add interval between each crossgen 58/168058/1
authorCho Woong Suk <ws77.cho@samsung.com>
Wed, 24 Jan 2018 02:13:20 +0000 (11:13 +0900)
committerCho Woong Suk <ws77.cho@samsung.com>
Wed, 24 Jan 2018 02:13:20 +0000 (11:13 +0900)
Change-Id: I9688331704322452cebe0a454ca03cf6bcf6d9e9

NativeLauncher/installer-plugin/common.cc

index f7fc71b..f1d212e 100644 (file)
@@ -35,6 +35,8 @@
 #include <unistd.h>
 #include <string.h>
 
+#include <fstream>
+
 #include "common.h"
 
 #ifdef  LOG_TAG
@@ -338,6 +340,17 @@ int createNiUnderPkgRoot(const char* pkgName)
        if (getRootPath(pkgName, pkgRoot) < 0)
                return 1;
 
+       // get interval value
+       const char* intervalFile = "/usr/share/dotnet.tizen/lib/crossgen_interval.txt";
+       int interval = 0;
+       std::ifstream inFile(intervalFile);
+       if (inFile) {
+               _INFO("crossgen_interval.txt is found");
+               inFile >> interval;
+       } else {
+               _INFO("fail to read crossgen_interval.txt file");
+       }
+
        std::string binDir = concatPath(pkgRoot, "bin");
        std::string libDir = concatPath(pkgRoot, "lib");
        _INFO("bindir : %s", binDir.c_str());
@@ -350,8 +363,12 @@ int createNiUnderPkgRoot(const char* pkgName)
 
        // change smack label for generated ni file.
        std::string label = "User::Pkg::" + std::string(pkgName) + "::RO";
-       createNiUnderDirs(paths, 2, [label](const char* ni) {
+       createNiUnderDirs(paths, 2, [label, interval](const char* ni) {
                        smack_(ni, label.c_str());
+                       if (interval != 0) {
+                               _INFO("sleep %d usec", interval);
+                               usleep(interval);
+                       }
        });
 
        return 0;