loolwsd/LOOLKit.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
New commits: commit 24c8386c42728b09ddacb8d9965f95ef64e3621e Author: Henry Castro <[email protected]> Date: Tue Dec 29 10:48:29 2015 -0400 loolwsd: wait to finish callback worker thread diff --git a/loolwsd/LOOLKit.cpp b/loolwsd/LOOLKit.cpp index 716f9e4..8b5e375 100644 --- a/loolwsd/LOOLKit.cpp +++ b/loolwsd/LOOLKit.cpp @@ -304,7 +304,7 @@ public: while (!TerminationFlag) { Notification::Ptr aNotification(_queue.waitDequeueNotification()); - if (aNotification) + if (!TerminationFlag && aNotification) { CallBackNotification::Ptr aCallBackNotification = aNotification.cast<CallBackNotification>(); if (aCallBackNotification) @@ -339,6 +339,11 @@ public: Log::debug("Thread [" + thread_name + "] finished."); } + void wakeUpAll() + { + _queue.wakeUpAll(); + } + private: NotificationQueue& _queue; static FastMutex _mutex; @@ -702,8 +707,12 @@ void run_lok_main(const std::string &loSubPath, const std::string& childId, cons } } - close(readerBroker); + // wait callback worker finish + callbackWorker.wakeUpAll(); + Poco::ThreadPool::defaultPool().joinAll(); + close(writerBroker); + close(readerBroker); } catch (const Exception& exc) { _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
