summaryrefslogtreecommitdiff
path: root/src/buildtool/multithreading/async_map_utils.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/multithreading/async_map_utils.hpp')
-rw-r--r--src/buildtool/multithreading/async_map_utils.hpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/buildtool/multithreading/async_map_utils.hpp b/src/buildtool/multithreading/async_map_utils.hpp
index 03469b02..7e7a7a72 100644
--- a/src/buildtool/multithreading/async_map_utils.hpp
+++ b/src/buildtool/multithreading/async_map_utils.hpp
@@ -61,9 +61,11 @@ template <typename K, typename V>
/// \brief Utility to detect and report pending tasks for an AsyncMap instance.
/// \param name Human-readable string identifier related to the map or its use.
/// \param map The AsyncMap instance.
+/// \param logger Named logger, or nullptr to use global logger.
template <HasToString K, typename V>
void DetectAndReportPending(std::string const& name,
- AsyncMapConsumer<K, V> const& map) {
+ AsyncMapConsumer<K, V> const& map,
+ Logger const* logger = nullptr) {
using namespace std::string_literals;
auto keys = map.GetPendingKeys();
if (not keys.empty()) {
@@ -74,7 +76,7 @@ void DetectAndReportPending(std::string const& name,
for (auto const& k : keys) {
oss << " " << k.ToString() << std::endl;
}
- Logger::Log(LogLevel::Error, "{}", oss.str());
+ Logger::Log(logger, LogLevel::Error, "{}", oss.str());
}
}