[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp
Ashod Nakashian
ashod.nakashian at collabora.co.uk
Tue Jun 20 03:16:41 UTC 2017
wsd/LOOLWSD.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit c28992758d1db7f23b477178d93c2b84e9f48c06
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>
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 989ff496..6a62d9d9 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -401,9 +401,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