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

New commits:
commit 15a6c02f707fa8596922f280a4aa21156765717b
Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk>
Date:   Fri Dec 30 17:19:53 2016 -0500

    wsd: remove DocumentBroker instances without sessions
    
    Change-Id: I052acba594f0da76332996b25c5349e8fff23606
    Reviewed-on: https://gerrit.libreoffice.org/32613
    Reviewed-by: Ashod Nakashian <ashnak...@gmail.com>
    Tested-by: Ashod Nakashian <ashnak...@gmail.com>

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index faa5a7f..6161eb7 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -269,11 +269,16 @@ bool cleanupDocBrokers()
     const auto count = DocBrokers.size();
     for (auto it = DocBrokers.begin(); it != DocBrokers.end(); )
     {
+        auto docBroker = it->second;
+        auto lock = docBroker->getLock();
+
         // Cleanup used and dead entries.
-        if (it->second->isLoaded() && !it->second->isAlive())
+        if (docBroker->isLoaded() &&
+            (docBroker->getSessionsCount() == 0 || !docBroker->isAlive()))
         {
-            LOG_DBG("Removing dead DocBroker [" << it->first << "].");
+            LOG_DBG("Removing dead DocumentBroker for docKey [" << it->first 
<< "].");
             it = DocBrokers.erase(it);
+            docBroker->terminateChild(lock);
         }
         else
         {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to