summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wsd/Admin.cpp5
-rw-r--r--wsd/Admin.hpp1
-rw-r--r--wsd/LOOLWSD.cpp3
3 files changed, 9 insertions, 0 deletions
diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp
index 1a78bf25dc..ba75f81d7f 100644
--- a/wsd/Admin.cpp
+++ b/wsd/Admin.cpp
@@ -958,4 +958,9 @@ void Admin::start()
startThread();
}
+void Admin::stop()
+{
+ joinThread();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/wsd/Admin.hpp b/wsd/Admin.hpp
index 01f531337b..dc8059fbf0 100644
--- a/wsd/Admin.hpp
+++ b/wsd/Admin.hpp
@@ -67,6 +67,7 @@ public:
}
void start();
+ void stop();
/// Custom poll thread function
void pollingThread() override;
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 6a4ceeaff4..0fdf94334d 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -3922,6 +3922,9 @@ public:
{
_acceptPoll.joinThread();
WebServerPoll.joinThread();
+#if !MOBILEAPP
+ Admin::instance().stop();
+#endif
}
void dumpState(std::ostream& os)