Index: src/liblogger/TAsyncMultiLogger.h =================================================================== diff -u -ra08ca9e12d93e9a036a5cf739348ff3ef2a58be8 -rebc7fabbd2d59f9a0f723ea480b5374cc393ec12 --- src/liblogger/TAsyncMultiLogger.h (.../TAsyncMultiLogger.h) (revision a08ca9e12d93e9a036a5cf739348ff3ef2a58be8) +++ src/liblogger/TAsyncMultiLogger.h (.../TAsyncMultiLogger.h) (revision ebc7fabbd2d59f9a0f723ea480b5374cc393ec12) @@ -38,6 +38,7 @@ public: TAsyncMultiLogger(); + ~TAsyncMultiLogger(); void FinishLogging(); TLogFileDataPtr CreateLoggerData(PCTSTR pszLogPath, const TMultiLoggerConfigPtr& spLoggerConfig); @@ -47,7 +48,7 @@ void SetMaxRotatedCount(unsigned int uiMaxRotatedCount); private: - void LoggingThread(); + static DWORD LoggingThread(void* pParam); private: #pragma warning(push) @@ -56,7 +57,8 @@ boost::shared_mutex m_mutex; std::shared_ptr m_spStopEvent; - std::unique_ptr m_spThread; + std::shared_ptr m_spStoppedEvent; + HANDLE m_hThread = nullptr; TLoggerRotationInfoPtr m_spGlobalRotationInfo; #pragma warning(pop)