loolwsd/LOOLBroker.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+)
New commits: commit 361a190cdf3696f12d80539beedce0edc344d22d Author: Henry Castro <hcas...@collabora.com> Date: Sun Sep 27 17:45:13 2015 -0400 loolwsd: fork new child if new client requests diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp index aaeede4..9097595 100644 --- a/loolwsd/LOOLBroker.cpp +++ b/loolwsd/LOOLBroker.cpp @@ -65,8 +65,10 @@ const std::string BROKER_PREFIX = "/tmp/lokit"; static int readerChild = -1; static int readerBroker = -1; +static unsigned int forkCounter = 0; static unsigned int childCounter = 0; +static std::mutex forkMutex; static std::map<Poco::Process::PID, int> _childProcesses; namespace @@ -530,6 +532,17 @@ int main(int argc, char** argv) else if (pid < 0) std::cout << Util::logPrefix() << "Child error: " << strerror(errno) << std::endl; + if ( forkCounter > 0 ) + { + forkMutex.lock(); + forkCounter -= 1; + + if (createLibreOfficeKit(sharePages, loSubPath, _childId) < 0 ) + std::cout << Util::logPrefix() << "fork falied: " << strerror(errno) << std::endl; + + forkMutex.unlock(); + } + ++timeoutCounter; if (timeoutCounter == INTERVAL_PROBES) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits