[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