diff --git a/lib/icinga/checkable-dependency.cpp b/lib/icinga/checkable-dependency.cpp index a302f3aec..f8a84a56b 100644 --- a/lib/icinga/checkable-dependency.cpp +++ b/lib/icinga/checkable-dependency.cpp @@ -51,7 +51,7 @@ std::vector Checkable::GetReverseDependencies() const return std::vector(m_ReverseDependencies.begin(), m_ReverseDependencies.end()); } -bool Checkable::IsReachable(DependencyType dt, Dependency::Ptr *failedDependency, int rstack) const +bool Checkable::IsReachable(DependencyType dt, int rstack) const { if (rstack > l_MaxDependencyRecursionLevel) { Log(LogWarning, "Checkable") @@ -61,7 +61,7 @@ bool Checkable::IsReachable(DependencyType dt, Dependency::Ptr *failedDependency } for (const Checkable::Ptr& checkable : GetParents()) { - if (!checkable->IsReachable(dt, failedDependency, rstack + 1)) + if (!checkable->IsReachable(dt, rstack + 1)) return false; } @@ -71,9 +71,6 @@ bool Checkable::IsReachable(DependencyType dt, Dependency::Ptr *failedDependency Host::Ptr host = service->GetHost(); if (host && host->GetState() != HostUp && host->GetStateType() == StateTypeHard) { - if (failedDependency) - *failedDependency = nullptr; - return false; } } @@ -90,9 +87,6 @@ bool Checkable::IsReachable(DependencyType dt, Dependency::Ptr *failedDependency Log(LogDebug, "Checkable") << "Non-redundant dependency '" << dep->GetName() << "' failed for checkable '" << GetName() << "': Marking as unreachable."; - if (failedDependency) - *failedDependency = dep; - return false; } @@ -110,15 +104,9 @@ bool Checkable::IsReachable(DependencyType dt, Dependency::Ptr *failedDependency Log(LogDebug, "Checkable") << "All dependencies in redundancy group '" << violator->first << "' have failed for checkable '" << GetName() << "': Marking as unreachable."; - if (failedDependency) - *failedDependency = violator->second; - return false; } - if (failedDependency) - *failedDependency = nullptr; - return true; } diff --git a/lib/icinga/checkable.hpp b/lib/icinga/checkable.hpp index 12e620ed5..e34b34ef0 100644 --- a/lib/icinga/checkable.hpp +++ b/lib/icinga/checkable.hpp @@ -81,7 +81,7 @@ public: void AddGroup(const String& name); - bool IsReachable(DependencyType dt = DependencyState, intrusive_ptr *failedDependency = nullptr, int rstack = 0) const; + bool IsReachable(DependencyType dt = DependencyState, int rstack = 0) const; bool AffectsChildren() const; AcknowledgementType GetAcknowledgement();