diff options
-rw-r--r-- | comphelper/source/misc/threadpool.cxx | 9 | ||||
-rw-r--r-- | desktop/source/lib/init.cxx | 4 |
2 files changed, 8 insertions, 5 deletions
diff --git a/comphelper/source/misc/threadpool.cxx b/comphelper/source/misc/threadpool.cxx index 23e363213206..457b7282fced 100644 --- a/comphelper/source/misc/threadpool.cxx +++ b/comphelper/source/misc/threadpool.cxx @@ -126,13 +126,12 @@ sal_Int32 ThreadPool::getPreferredConcurrency() return ThreadCount; } -// FIXME: there should be no need for this as/when our baseline -// is >VS2015 and drop WinXP; the sorry details are here: -// https://connect.microsoft.com/VisualStudio/feedback/details/1282596 +// Used to order shutdown, and to ensure there are no lingering +// threads after LibreOfficeKit pre-init. void ThreadPool::shutdown() { - if (mbTerminate) - return; +// if (mbTerminate) +// return; std::unique_lock< std::mutex > aGuard( maMutex ); shutdownLocked(aGuard); diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index e07fe4babb2a..deac1a746fc6 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -36,6 +36,7 @@ #include <comphelper/string.hxx> #include <comphelper/propertysequence.hxx> #include <comphelper/scopeguard.hxx> +#include <comphelper/threadpool.hxx> #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/container/XNameAccess.hpp> @@ -3892,7 +3893,10 @@ static int lo_initialize(LibreOfficeKit* pThis, const char* pAppPath, const char } if (eStage == PRE_INIT) + { + comphelper::ThreadPool::getSharedOptimalPool().shutdown(); rtl_alloc_preInit(rtlAllocPostInit); + } return bInitialized; } |