Log(LogNotice, "ConfigObject")
<< "Ignoring config object '" << m_Name << "' of type '" << m_Type << "' due to errors: " << DiagnosticInformation(ex);
- m_IgnoredItems.push_back(m_DebugInfo.Path);
+ {
+ boost::mutex::scoped_lock lock(m_Mutex);
+ m_IgnoredItems.push_back(m_DebugInfo.Path);
+ }
return ConfigObject::Ptr();
}
Log(LogNotice, "ConfigObject")
<< "Ignoring config object '" << m_Name << "' of type '" << m_Type << "' due to errors: " << DiagnosticInformation(ex);
- m_IgnoredItems.push_back(m_DebugInfo.Path);
+ {
+ boost::mutex::scoped_lock lock(m_Mutex);
+ m_IgnoredItems.push_back(m_DebugInfo.Path);
+ }
return ConfigObject::Ptr();
}
Log(LogNotice, "ConfigObject")
<< "Ignoring config object '" << m_Name << "' of type '" << m_Type << "' due to errors: " << DiagnosticInformation(ex);
- m_IgnoredItems.push_back(m_DebugInfo.Path);
+ {
+ boost::mutex::scoped_lock lock(m_Mutex);
+ m_IgnoredItems.push_back(m_DebugInfo.Path);
+ }
return ConfigObject::Ptr();
}
Unregister();
- m_IgnoredItems.push_back(m_DebugInfo.Path);
+ {
+ boost::mutex::scoped_lock lock(m_Mutex);
+ m_IgnoredItems.push_back(m_DebugInfo.Path);
+ }
return;
}
void ConfigItem::RemoveIgnoredItems(const String& allowedConfigPath)
{
+ boost::mutex::scoped_lock lock(m_Mutex);
+
BOOST_FOREACH(const String& path, m_IgnoredItems) {
if (path.Find(allowedConfigPath) == String::NPos)
continue;