Merge pull request #6770 from Icinga/bugfix/graphitewriter-deadlock

Fix deadlock in GraphiteWriter
This commit is contained in:
Michael Friedrich 2018-11-13 08:36:51 +01:00 committed by GitHub
commit 374dd91deb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 1 deletions

View File

@ -299,7 +299,7 @@ void GraphiteWriter::SendMetric(const String& prefix, const String& name, double
msgbuf << "\n";
String metric = msgbuf.str();
ObjectLock olock(this);
boost::mutex::scoped_lock lock(m_StreamMutex);
if (!GetConnected())
return;

View File

@ -27,6 +27,7 @@
#include "base/timer.hpp"
#include "base/workqueue.hpp"
#include <fstream>
#include <boost/thread/mutex.hpp>
namespace icinga
{
@ -54,6 +55,7 @@ protected:
private:
Stream::Ptr m_Stream;
boost::mutex m_StreamMutex;
WorkQueue m_WorkQueue{10000000, 1};
Timer::Ptr m_ReconnectTimer;