using namespace icinga;
std::vector<String> ConfigCompiler::m_IncludeSearchDirs;
+boost::mutex ConfigCompiler::m_ZoneDirsMutex;
std::map<String, std::vector<ZoneFragment> > ConfigCompiler::m_ZoneDirs;
/**
std::vector<ZoneFragment> ConfigCompiler::GetZoneDirs(const String& zone)
{
- std::map<String, std::vector<ZoneFragment> >::const_iterator it;
- it = m_ZoneDirs.find(zone);
+ boost::mutex::scoped_lock lock(m_ZoneDirsMutex);
+ std::map<String, std::vector<ZoneFragment> >::const_iterator it = m_ZoneDirs.find(zone);
if (it == m_ZoneDirs.end())
return std::vector<ZoneFragment>();
else
ZoneFragment zf;
zf.Tag = tag;
zf.Path = ppath;
+
+ boost::mutex::scoped_lock lock(m_ZoneDirsMutex);
m_ZoneDirs[zoneName].push_back(zf);
}
void *m_Scanner;
static std::vector<String> m_IncludeSearchDirs;
+ static boost::mutex m_ZoneDirsMutex;
static std::map<String, std::vector<ZoneFragment> > m_ZoneDirs;
void InitializeScanner(void);