wsd/DocumentBroker.hpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
New commits: commit 3046c5748bb54b16738aa5a7ee5e90b9420d68ac Author: Gabriel Masei <gabriel.ma...@1and1.ro> AuthorDate: Tue Feb 11 17:51:20 2020 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Feb 12 16:28:10 2020 +0100 Fix removal of kit procs when they are blocked Change-Id: Ifa2a2a56a305e33bb07ad622fce14f0e8b3e83eb Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88464 Reviewed-by: Michael Meeks <michael.me...@collabora.com> Tested-by: Andras Timar <andras.ti...@collabora.com> diff --git a/wsd/DocumentBroker.hpp b/wsd/DocumentBroker.hpp index 890e89e38..8b2b42551 100644 --- a/wsd/DocumentBroker.hpp +++ b/wsd/DocumentBroker.hpp @@ -119,14 +119,23 @@ public: // Shutdown the socket. if (_ws) + { _ws->shutdown(); + // If socket was shutdown and buffers cleared then there's no + // reason to keep the object. This is crucial for DocumentBroker + // to be considered as not alive and associated kit process + // terminated in cleanupDocBrokers. Otherwise if kit process + // hangs then the asociated DocumentBroker object won't be + // removed and kit process won't be forcefully terminated. This + // is in conjunction with not clearing _pid data member which + // is needed later in call to terminate(). + _ws.reset(); + } } catch (const std::exception& ex) { LOG_ERR("Error while closing child process: " << ex.what()); } - - _pid = -1; } /// Kill or abandon the child. _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits