loolwsd/DocumentBroker.hpp | 9 ++++++--- loolwsd/LOOLWSD.cpp | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-)
New commits: commit 8af52337a585dee81c552073ee8a42554a7980f8 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sun Apr 17 12:04:23 2016 -0400 loolwsd: clean and quick shutdown Change-Id: Idfac3a27d19dd0a1b141d95a62c9e3453bd399a1 Reviewed-on: https://gerrit.libreoffice.org/24166 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/DocumentBroker.hpp b/loolwsd/DocumentBroker.hpp index df8287a..260a78d 100644 --- a/loolwsd/DocumentBroker.hpp +++ b/loolwsd/DocumentBroker.hpp @@ -70,16 +70,19 @@ public: ~ChildProcess() { - Log::info("~ChildProcess dtor [" + std::to_string(_pid) + "]."); - close(false); + if (_pid > 0) + { + Log::info("~ChildProcess dtor [" + std::to_string(_pid) + "]."); + close(false); + } } void close(const bool rude) { - Log::info("Closing child [" + std::to_string(_pid) + "]."); _ws.reset(); if (_pid != -1) { + Log::info("Closing child [" + std::to_string(_pid) + "]."); if (rude && kill(_pid, SIGINT) != 0 && kill(_pid, 0) != 0) { Log::syserror("Cannot terminate lokit [" + std::to_string(_pid) + "]. Abandoning."); diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp index 9c62d0c..42a0149 100644 --- a/loolwsd/LOOLWSD.cpp +++ b/loolwsd/LOOLWSD.cpp @@ -1545,13 +1545,15 @@ int LOOLWSD::main(const std::vector<std::string>& /*args*/) threadPool.joinAll(); // Terminate child processes - IoUtil::writeFIFO(ForKitWritePipe, "eof\n"); Log::info("Requesting child process " + std::to_string(forKitPid) + " to terminate"); Util::requestTermination(forKitPid); + for (auto& child : newChildren) + { + child->close(true); + } // Wait for forkit process finish waitpid(forKitPid, &status, WUNTRACED); - close(ForKitWritePipe); Log::info("Cleaning up childroot directory [" + ChildRoot + "]."); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits