mirror of https://github.com/Icinga/icinga2.git
Merge pull request #9853 from Icinga/GelfWriter-m_StreamMutex
GelfWriter: protect m_Stream via m_WorkQueue, not ObjectLock(this)
This commit is contained in:
commit
bba6a76f4a
|
@ -114,18 +114,17 @@ void GelfWriter::Pause()
|
|||
|
||||
m_ReconnectTimer->Stop(true);
|
||||
|
||||
try {
|
||||
ReconnectInternal();
|
||||
} catch (const std::exception&) {
|
||||
Log(LogInformation, "GelfWriter")
|
||||
<< "'" << GetName() << "' paused. Unable to connect, not flushing buffers. Data may be lost on reload.";
|
||||
|
||||
ObjectImpl<GelfWriter>::Pause();
|
||||
return;
|
||||
}
|
||||
m_WorkQueue.Enqueue([this]() {
|
||||
try {
|
||||
ReconnectInternal();
|
||||
} catch (const std::exception&) {
|
||||
Log(LogInformation, "GelfWriter")
|
||||
<< "Unable to connect, not flushing buffers. Data may be lost.";
|
||||
}
|
||||
}, PriorityImmediate);
|
||||
|
||||
m_WorkQueue.Enqueue([this]() { DisconnectInternal(); }, PriorityLow);
|
||||
m_WorkQueue.Join();
|
||||
DisconnectInternal();
|
||||
|
||||
Log(LogInformation, "GelfWriter")
|
||||
<< "'" << GetName() << "' paused.";
|
||||
|
@ -513,8 +512,6 @@ void GelfWriter::SendLogMessage(const Checkable::Ptr& checkable, const String& g
|
|||
|
||||
String log = msgbuf.str();
|
||||
|
||||
ObjectLock olock(this);
|
||||
|
||||
if (!GetConnected())
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in New Issue