[Libreoffice-commits] online.git: Branch 'distro/collabora/collabora-online-2-1' - 2 commits - wsd/Admin.cpp wsd/Admin.hpp wsd/LOOLWSD.cpp

Pranav Kant pranavk at collabora.co.uk
Wed Sep 20 15:30:43 UTC 2017


 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 <pranavk at collabora.co.uk>
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 <pranavk at collabora.co.uk>
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)


More information about the Libreoffice-commits mailing list