summaryrefslogtreecommitdiffstats
path: root/kit
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2024-04-15 09:52:12 +0100
committerCaolán McNamara <caolanm@gmail.com>2024-04-16 15:07:18 +0100
commita8102212c6d965c6bbd2ff2ab924a4be390040fc (patch)
treecdcaeb99b4d1cadc15bee59a13ef56a6d73f6104 /kit
parentcid#360688 COPY_INSTEAD_OF_MOVE (diff)
downloadonline-a8102212c6d965c6bbd2ff2ab924a4be390040fc.tar.gz
online-a8102212c6d965c6bbd2ff2ab924a4be390040fc.zip
bgsave: ensure kit processes die when their parents do.
Potentially zombie / badly behaving kits should be taken down by the kernel, and this lets us continue our cleanup by killing just the parent process. Change-Id: I1e81f41cded0c67b72622f8ed88602daf427238c Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'kit')
-rw-r--r--kit/Kit.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index e06ee683dc..52c8f362d1 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -1420,6 +1420,8 @@ bool Document::forkToSave(const std::function<void()> &childSave, int viewId)
SigUtil::addActivity("forked background save process: " +
std::to_string(pid));
+ SigUtil::dieOnParentDeath();
+
childSocket.reset();
// now we just have a single socket to our parent