mirror of https://github.com/Icinga/icinga2.git
HttpServerConnection#DataAvailableHandler(): be aware of being called multiple times concurrently
refs #6816
This commit is contained in:
parent
797ecd1539
commit
1d6cec5a99
|
@ -351,7 +351,11 @@ void HttpServerConnection::DataAvailableHandler()
|
||||||
bool close = false;
|
bool close = false;
|
||||||
|
|
||||||
if (!m_Stream->IsEof()) {
|
if (!m_Stream->IsEof()) {
|
||||||
boost::recursive_mutex::scoped_lock lock(m_DataHandlerMutex);
|
boost::recursive_mutex::scoped_try_lock lock(m_DataHandlerMutex);
|
||||||
|
if (!lock.owns_lock()) {
|
||||||
|
Log(LogInformation, "HttpServerConnection", "Unable to process available data, they're already being processed in another thread");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
while (ProcessMessage())
|
while (ProcessMessage())
|
||||||
|
|
Loading…
Reference in New Issue