wsd/Admin.cpp | 8 ++++++-- wsd/Admin.hpp | 5 +++-- wsd/LOOLWSD.cpp | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-)
New commits: commit bb6cd088bcda18737d0c7f952293d690c7b0f003 Author: Pranav Kant <[email protected]> Date: Mon Aug 21 20:01:42 2017 +0530 wsd: Notify forkit conditionally about rlimits No need to notify the forkit very early when loolwsd is initializing and forkit pipes are not set. Forkit is notified of rlimits anyway explicitly in the URL when it is initialized; no need to try to initialize it again. Change-Id: I9fde13e42f6e6393da7cf245ed979538d715319a diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp index 15b5d16b..5ea725a7 100644 --- a/wsd/Admin.cpp +++ b/wsd/Admin.cpp @@ -239,7 +239,7 @@ void AdminSocketHandler::handleMessage(bool /* fin */, WSOpCode /* code */, LOG_ERR("Unknown limit: " << settingName); model.notify("settings " + settingName + '=' + std::to_string(settingVal)); - _admin->setDefDocProcSettings(docProcSettings); + _admin->setDefDocProcSettings(docProcSettings, true); } } } diff --git a/wsd/Admin.hpp b/wsd/Admin.hpp index 8c597008..a0d81837 100644 --- a/wsd/Admin.hpp +++ b/wsd/Admin.hpp @@ -104,10 +104,11 @@ public: void dumpState(std::ostream& os) override; const DocProcSettings& getDefDocProcSettings() const { return _defDocProcSettings; } - void setDefDocProcSettings(const DocProcSettings& docProcSettings) + void setDefDocProcSettings(const DocProcSettings& docProcSettings, bool notifyKit) { _defDocProcSettings = docProcSettings; - notifyForkit(); + if (notifyKit) + notifyForkit(); } private: diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 62a4bf46..01293fc9 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -812,7 +812,7 @@ void LOOLWSD::initialize(Application& self) docProcSettings.LimitVirtMemMb = getConfigValue<int>("per_document.limit_virt_mem_mb", 0); docProcSettings.LimitStackMemKb = getConfigValue<int>("per_document.limit_stack_mem_kb", 0); docProcSettings.LimitFileSizeMb = getConfigValue<int>("per_document.limit_file_size_mb", 0); - Admin::instance().setDefDocProcSettings(docProcSettings); + Admin::instance().setDefDocProcSettings(docProcSettings, false); #if ENABLE_DEBUG std::cerr << "\nLaunch this in your browser:\n\n" commit 48655cf019a1720b5e82621644e21873f55c9f99 Author: Pranav Kant <[email protected]> Date: Mon Aug 21 19:56:19 2017 +0530 wsd: don't write until forkit write pipe is ready Change-Id: I95439e8e77dc308d993b07ccbd273228f755ce14 diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp index 37c3cac8..15b5d16b 100644 --- a/wsd/Admin.cpp +++ b/wsd/Admin.cpp @@ -509,7 +509,11 @@ void Admin::notifyForkit() oss << "setconfig limit_virt_mem_mb " << _defDocProcSettings.LimitVirtMemMb << '\n' << "setconfig limit_stack_mem_kb " << _defDocProcSettings.LimitStackMemKb << '\n' << "setconfig limit_file_size_mb " << _defDocProcSettings.LimitFileSizeMb << '\n'; - IoUtil::writeToPipe(_forKitWritePipe, oss.str()); + + if (_forKitWritePipe != -1) + IoUtil::writeToPipe(_forKitWritePipe, oss.str()); + else + LOG_INF("Forkit write pipe not set (yet)."); } void Admin::dumpState(std::ostream& os) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
