mirror of https://github.com/Icinga/icinga2.git
1c066fc02e
This commit removes EmbeddedNamespaceValue and ConstEmbeddedNamespaceValue and reduces NamespaceValue down to a simple struct without inheritance or member functions. The code from these clases is inlined into the Namespace class. The class hierarchy determining whether a value is const is moved to an attribute of NamespaceValue. This is done in preparation for changes to the locking in the Namespace class. Currently, it relies on a recursive mutex. In the future, a shared mutex (read/write lock) should be used instead, which cannot allow recursive locking (without failing or risk deadlocking on lock upgrades). With this change, all operations requiring a lock for one operation are within one function, no recursive locking is not needed any more. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
activationcontext.cpp | ||
activationcontext.hpp | ||
applyrule-targeted.cpp | ||
applyrule.cpp | ||
applyrule.hpp | ||
config_lexer.ll | ||
config_parser.yy | ||
configcompiler.cpp | ||
configcompiler.hpp | ||
configcompilercontext.cpp | ||
configcompilercontext.hpp | ||
configfragment.hpp | ||
configitem.cpp | ||
configitem.hpp | ||
configitembuilder.cpp | ||
configitembuilder.hpp | ||
expression.cpp | ||
expression.hpp | ||
i2-config.hpp | ||
objectrule.cpp | ||
objectrule.hpp | ||
vmops.hpp |