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

Ashod Nakashian ashod.nakashian at collabora.co.uk
Fri Jul 28 15:57:21 UTC 2017


 wsd/LOOLWSD.cpp |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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

    wsd: avoid deadlock when restoring forkit
    
    LOOLWSD::checkAndRestoreForKit() eventually takes
    NewChildrenLock, which is also taken in getNewChild_Blocks().
    
    Luckily, we can defer that to the Prisoner poll, which we do.
    
    Change-Id: Ib65c0be08870d1c4c68efd72192dac2e73c79f7c
    Reviewed-on: https://gerrit.libreoffice.org/38992
    Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
    Tested-by: Ashod Nakashian <ashnakash at gmail.com>
    (cherry picked from commit c28992758d1db7f23b477178d93c2b84e9f48c06)
    Reviewed-on: https://gerrit.libreoffice.org/38995
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    Tested-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index b5003a5c..098c576d 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -394,9 +394,9 @@ std::shared_ptr<ChildProcess> getNewChild_Blocks()
     ++numPreSpawn; // Replace the one we'll dispatch just now.
     if (rebalanceChildren(numPreSpawn) < 0)
     {
-        LOG_DBG("getNewChild: rebalancing of children failed. Checking and restoring forkit.");
+        LOG_DBG("getNewChild: rebalancing of children failed. Scheduling housekeeping to recover.");
 
-        LOOLWSD::checkAndRestoreForKit();
+        LOOLWSD::doHousekeeping();
 
         // Let the caller retry after a while.
         return nullptr;


More information about the Libreoffice-commits mailing list