[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

Ashod Nakashian ashod.nakashian at collabora.co.uk
Tue Jun 20 03:17:12 UTC 2017


 wsd/LOOLWSD.cpp |   10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

New commits:
commit bc067c7b299ed1299b7fb4546444abf403cb6c5b
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date:   Mon Jun 19 22:47:30 2017 -0400

    wsd: always prespawn children when creating forkit
    
    Also, no need for the DocBrokerMutex to be locked
    in createForkit.
    
    Change-Id: I651c50c8b5518f7b0ee0d8b15c413fc070e30443
    Reviewed-on: https://gerrit.libreoffice.org/38993
    Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
    Tested-by: Ashod Nakashian <ashnakash at gmail.com>

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 6a62d9d9..eecc6d27 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -1163,6 +1163,8 @@ bool LOOLWSD::createForKit()
 #else
     LOG_INF("Creating new forkit process.");
 
+    std::unique_lock<std::mutex> newChildrenLock(NewChildrenMutex);
+
     Process::Args args;
     args.push_back("--losubpath=" + std::string(LO_JAIL_SUBPATH));
     args.push_back("--systemplate=" + SysTemplate);
@@ -1195,10 +1197,6 @@ bool LOOLWSD::createForKit()
         args.push_back("--nocaps");
     }
 
-    // If we're recovering forkit, don't allow processing new requests.
-    std::unique_lock<std::mutex> docBrokersLock(DocBrokersMutex);
-    std::unique_lock<std::mutex> newChildrenLock(NewChildrenMutex);
-
     // Always reap first, in case we haven't done so yet.
     if (ForKitProcId != -1)
     {
@@ -1236,6 +1234,7 @@ bool LOOLWSD::createForKit()
     Admin::instance().setForKitPid(ForKitProcId);
     Admin::instance().setForKitWritePipe(ForKitWritePipe);
 
+    rebalanceChildren(LOOLWSD::NumPreSpawnedChildren - 1);
     return ForKitProcId != -1;
 #endif
 }
@@ -2558,9 +2557,6 @@ int LOOLWSD::innerMain()
     }
 #endif
 
-    // Prefork initial children
-    prespawnChildren();
-
     // Start the server.
     srv.start(ClientPortNumber);
 


More information about the Libreoffice-commits mailing list