common/IoUtil.cpp |    2 ++
 kit/ForKit.cpp    |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

New commits:
commit 7e5d83f41c42e8deac48f0dcff54768ec9cfc87f
Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk>
Date:   Mon Nov 28 20:34:18 2016 -0500

    loolwsd: terminate forkit when wsd dies
    
    When we the pipe with wsd is closed we
    assume wsd has died and we terminate too.
    
    WSD can fork us anew, if it's still alive.
    
    Change-Id: I669ed717db973b50498a6bc08e1fca59c6563443
    Reviewed-on: https://gerrit.libreoffice.org/31337
    Reviewed-by: Ashod Nakashian <ashnak...@gmail.com>
    Tested-by: Ashod Nakashian <ashnak...@gmail.com>
    (cherry picked from commit 7a4250b90e4273f73ab5ab94c35728aeba9f0d63)

diff --git a/common/IoUtil.cpp b/common/IoUtil.cpp
index 6fea0b4..32238f3 100644
--- a/common/IoUtil.cpp
+++ b/common/IoUtil.cpp
@@ -329,6 +329,7 @@ int PipeReader::readLine(std::string& line,
         }
         else if (pipe.revents & (POLLERR | POLLHUP | POLLNVAL))
         {
+            LOG_FTL("Pipe closed.");
             return -1;
         }
     }
diff --git a/kit/ForKit.cpp b/kit/ForKit.cpp
index 4680c4d..b727817 100644
--- a/kit/ForKit.cpp
+++ b/kit/ForKit.cpp
@@ -75,9 +75,9 @@ public:
         if (ready <= 0)
         {
             // Termination is done via SIGTERM, which breaks the wait.
-            if (TerminationFlag)
+            if (ready < 0)
             {
-                if (ready < 0)
+                if (TerminationFlag)
                 {
                     LOG_INF("Poll interrupted in " << getName() << " and 
Termination flag set.");
                 }
commit 644eeafa013b031d33b764233b75a517a48d8e9b
Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk>
Date:   Mon Nov 28 21:38:34 2016 -0500

    Revert "IoUtil: remove never read write of 'n'"
    
    Setting 'n = -1;' helps to detect where the failure happened
    when receiveFrame throws. At the bottom of the function we log
    partially processed data by checking n (among others).
    
    This reverts commit 752372a2b022ad4a450df61bcc58c978840b9b37.
    
    Change-Id: I3294329c3d95b38d72c3fc824ab2eb7f2339adee
    Reviewed-on: https://gerrit.libreoffice.org/31339
    Reviewed-by: Ashod Nakashian <ashnak...@gmail.com>
    Tested-by: Ashod Nakashian <ashnak...@gmail.com>
    (cherry picked from commit 21b1287444fc483adb8561243497ef466cd53fa9)

diff --git a/common/IoUtil.cpp b/common/IoUtil.cpp
index 2ee9c84..6fea0b4 100644
--- a/common/IoUtil.cpp
+++ b/common/IoUtil.cpp
@@ -79,6 +79,7 @@ void SocketProcessor(const std::shared_ptr<LOOLWebSocket>& ws,
             try
             {
                 payload.resize(payload.capacity());
+                n = -1; // In case receiveFrame throws we log dropped data.
                 n = ws->receiveFrame(payload.data(), payload.size(), flags);
                 payload.resize(std::max(n, 0));
             }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to