[Libreoffice-commits] online.git: loolwsd/LOOLBroker.cpp loolwsd/LOOLWSD.cpp loolwsd/Util.cpp loolwsd/Util.hpp

Henry Castro hcastro at collabora.com
Tue Feb 16 21:27:18 UTC 2016


 loolwsd/LOOLBroker.cpp |    2 +-
 loolwsd/LOOLWSD.cpp    |    2 +-
 loolwsd/Util.cpp       |   12 ++++++++++++
 loolwsd/Util.hpp       |    3 +++
 4 files changed, 17 insertions(+), 2 deletions(-)

New commits:
commit a607159a8aa40ca6de4243ce19685b35233f69f2
Author: Henry Castro <hcastro at collabora.com>
Date:   Tue Feb 16 17:25:51 2016 -0400

    loolwsd: catch exception requestTermination

diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index b29b4a9..9561be9 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -912,7 +912,7 @@ int main(int argc, char** argv)
     for (auto& it : _childProcesses)
     {
         Log::info("Requesting child process " + std::to_string(it.first) + " to terminate.");
-        Process::requestTermination(it.first);
+        Util::requestTermination(it.first);
     }
 
     // Wait and kill child processes
diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp
index 8d4cff1..b7cb356 100644
--- a/loolwsd/LOOLWSD.cpp
+++ b/loolwsd/LOOLWSD.cpp
@@ -1088,7 +1088,7 @@ int LOOLWSD::main(const std::vector<std::string>& /*args*/)
     // Terminate child processes
     Util::writeFIFO(LOOLWSD::BrokerWritePipe, "eof\r\n");
     Log::info("Requesting child process " + std::to_string(pidBroker) + " to terminate");
-    Process::requestTermination(pidBroker);
+    Util::requestTermination(pidBroker);
 
     // wait broker process finish
     waitpid(pidBroker, &status, WUNTRACED);
diff --git a/loolwsd/Util.cpp b/loolwsd/Util.cpp
index 1685d38..697c1b5 100644
--- a/loolwsd/Util.cpp
+++ b/loolwsd/Util.cpp
@@ -543,6 +543,18 @@ namespace Util
 
         return nRetVal;
     }
+
+    void requestTermination(const Poco::Process::PID& aPID)
+    {
+        try
+        {
+            Poco::Process::requestTermination(aPID);
+        }
+        catch(const Poco::Exception& exc)
+        {
+            Log::warn("Exception: " + exc.message());
+        }
+    }
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/loolwsd/Util.hpp b/loolwsd/Util.hpp
index b6f6f08..4a72945 100644
--- a/loolwsd/Util.hpp
+++ b/loolwsd/Util.hpp
@@ -17,6 +17,7 @@
 
 #include <Poco/File.h>
 #include <Poco/Path.h>
+#include <Poco/Process.h>
 #include <Poco/Net/WebSocket.h>
 #include <Poco/Logger.h>
 
@@ -119,6 +120,8 @@ namespace Util
 
     int getChildStatus(const int nCode);
     int getSignalStatus(const int nCode);
+
+    void requestTermination(const Poco::Process::PID& aPID);
 };
 
 //TODO: Move to own file.


More information about the Libreoffice-commits mailing list