Skip to content

Commit c87a270

Browse files
committed
Generalize removal of active source that failed
1 parent 24690bd commit c87a270

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

Utilities/XrdAdaptor/src/XrdRequestManager.cc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -839,13 +839,11 @@ void RequestManager::requestFailure(std::shared_ptr<XrdAdaptor::ClientRequest> c
839839
m_disabledSources.insert(source_ptr);
840840

841841
std::unique_lock<std::recursive_mutex> sentry(m_source_mutex);
842-
if ((!m_activeSources.empty()) && (m_activeSources[0].get() == source_ptr.get())) {
842+
if (auto found = std::ranges::find_if(
843+
m_activeSources, [&source_ptr](std::shared_ptr<Source> const &src) { return src.get() == source_ptr.get(); });
844+
found != m_activeSources.end()) {
843845
auto oldSources = m_activeSources;
844-
m_activeSources.erase(m_activeSources.begin());
845-
reportSiteChange(oldSources, m_activeSources);
846-
} else if ((m_activeSources.size() > 1) && (m_activeSources[1].get() == source_ptr.get())) {
847-
auto oldSources = m_activeSources;
848-
m_activeSources.erase(m_activeSources.begin() + 1);
846+
m_activeSources.erase(found);
849847
reportSiteChange(oldSources, m_activeSources);
850848
}
851849
std::shared_ptr<Source> new_source;

0 commit comments

Comments
 (0)