}
}
-static void log_cat_exit(const s_xbt_log_category_t* cat)
+static void log_cat_exit(xbt_log_category_t cat)
{
if (cat->appender) {
if (cat->appender->free_)
cat->appender->free_(cat->appender);
xbt_free(cat->appender);
+ cat->appender = nullptr;
}
if (cat->layout) {
if (cat->layout->free_)
cat->layout->free_(cat->layout);
xbt_free(cat->layout);
+ cat->layout = nullptr;
}
- for (auto const* child = cat->firstChild; child != nullptr; child = child->nextSibling)
+ for (auto* child = cat->firstChild; child != nullptr; child = child->nextSibling)
log_cat_exit(child);
+ cat->firstChild = nullptr;
}
static void xbt_log_postexit(void)
return priority >= category->threshold;
static std::recursive_mutex log_cat_init_mutex;
- log_cat_init_mutex.lock();
+ const std::scoped_lock lock(log_cat_init_mutex);
XBT_DEBUG("Initializing category '%s' (firstChild=%s, nextSibling=%s)", category->name,
(category->firstChild ? category->firstChild->name : "none"),
}
category->initialized = 1;
- log_cat_init_mutex.unlock();
return priority >= category->threshold;
}