From: Alexander A. Klimov Date: Tue, 8 Jan 2019 17:15:32 +0000 (+0100) Subject: InfluxdbWriter#Stop(): flush buffer X-Git-Tag: v2.11.0-rc1~226^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=refs%2Fpull%2F6882%2Fhead;p=icinga2 InfluxdbWriter#Stop(): flush buffer refs #6841 --- diff --git a/lib/perfdata/influxdbwriter.cpp b/lib/perfdata/influxdbwriter.cpp index 91fb1be10..80d050233 100644 --- a/lib/perfdata/influxdbwriter.cpp +++ b/lib/perfdata/influxdbwriter.cpp @@ -140,6 +140,14 @@ void InfluxdbWriter::Pause() ObjectImpl::Pause(); } +void InfluxdbWriter::Stop(bool runtimeDeleted) +{ + FlushTimeout(); + m_WorkQueue.Join(); + + ObjectImpl::Stop(runtimeDeleted); +} + void InfluxdbWriter::AssertOnWorkQueue() { ASSERT(m_WorkQueue.IsWorkerThread()); diff --git a/lib/perfdata/influxdbwriter.hpp b/lib/perfdata/influxdbwriter.hpp index face44f69..370ca25c5 100644 --- a/lib/perfdata/influxdbwriter.hpp +++ b/lib/perfdata/influxdbwriter.hpp @@ -51,6 +51,7 @@ protected: void OnConfigLoaded() override; void Resume() override; void Pause() override; + void Stop(bool runtimeDeleted) override; private: WorkQueue m_WorkQueue{10000000, 1};