[Libreoffice-commits] online.git: Branch 'private/hcvcastro/forking' - loolwsd/LOOLBroker.cpp loolwsd/LOOLWSD.cpp loolwsd/LOOLWSD.hpp
Henry Castro
hcastro at collabora.com
Fri Jul 24 10:10:12 PDT 2015
loolwsd/LOOLBroker.cpp | 12 ++++++++++++
loolwsd/LOOLWSD.cpp | 7 +++++++
loolwsd/LOOLWSD.hpp | 4 +++-
3 files changed, 22 insertions(+), 1 deletion(-)
New commits:
commit 20601a351338d70868df45260b0584691282984c
Author: Henry Castro <hcastro at collabora.com>
Date: Fri Jul 24 13:09:12 2015 -0400
loolwsd: sleep process with time interval.
diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index 6eb2b94..56a9238 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -23,6 +23,9 @@
#include "Util.hpp"
+#define INTERVAL_PROBES 10
+#define MAINTENANCE_INTERVAL 1000000
+
using Poco::Path;
using Poco::File;
using Poco::ThreadLocal;
@@ -229,6 +232,8 @@ static void startupLibreOfficeKit(int nLOKits, std::string loSubPath, Poco::UInt
}
}
+static int timeoutCounter = 0;
+
// Broker process
int main(int argc, char** argv)
{
@@ -431,6 +436,13 @@ int main(int argc, char** argv)
if (createLibreOfficeKit(loSubPath, _childId) < 0 )
break;
}
+
+ ++timeoutCounter;
+ if (timeoutCounter == INTERVAL_PROBES)
+ {
+ timeoutCounter = 0;
+ sleep(MAINTENANCE_INTERVAL);
+ }
}
// Terminate child processes
diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp
index ed9f6cc..9d5115e 100644
--- a/loolwsd/LOOLWSD.cpp
+++ b/loolwsd/LOOLWSD.cpp
@@ -407,6 +407,7 @@ public:
};
int LOOLWSD::portNumber = DEFAULT_CLIENT_PORT_NUMBER;
+int LOOLWSD::timeoutCounter = 0;
std::string LOOLWSD::cache = LOOLWSD_CACHEDIR;
std::string LOOLWSD::sysTemplate;
std::string LOOLWSD::loTemplate;
@@ -688,6 +689,12 @@ int LOOLWSD::main(const std::vector<std::string>& args)
else if (pid < 0)
std::cout << Util::logPrefix() << "Child error: " << strerror(errno);
+ ++timeoutCounter;
+ if (timeoutCounter == INTERVAL_PROBES)
+ {
+ timeoutCounter = 0;
+ sleep(MAINTENANCE_INTERVAL);
+ }
}
// Terminate child processes
diff --git a/loolwsd/LOOLWSD.hpp b/loolwsd/LOOLWSD.hpp
index 1d1066e..431df53 100644
--- a/loolwsd/LOOLWSD.hpp
+++ b/loolwsd/LOOLWSD.hpp
@@ -31,6 +31,7 @@ public:
// An Application is a singleton anyway, so just keep these as
// statics
static int portNumber;
+ static int timeoutCounter;
static std::string cache;
static std::string sysTemplate;
static std::string loTemplate;
@@ -41,7 +42,8 @@ public:
static const int DEFAULT_CLIENT_PORT_NUMBER = 9980;
static const int MASTER_PORT_NUMBER = 9981;
- static const int FILE_PORT_NUMBER = 9979;
+ static const int INTERVAL_PROBES = 10;
+ static const int MAINTENANCE_INTERVAL = 1000000;
static const std::string CHILD_URI;
static const std::string PIDLOG;
More information about the Libreoffice-commits
mailing list