A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Sonar still does not like #undef. Use a local variable to hide _xbt_log_cat_init.
[simgrid.git]
/
src
/
xbt
/
log.c
diff --git
a/src/xbt/log.c
b/src/xbt/log.c
index
85e102b
..
3ec0c9c
100644
(file)
--- a/
src/xbt/log.c
+++ b/
src/xbt/log.c
@@
-397,14
+397,19
@@
void _xbt_log_event_log(xbt_log_event_t ev, const char *fmt, ...)
* infinite recursion, we can not use the standard logging macros in _xbt_log_cat_init(), and in all functions called
* from it.
*
* infinite recursion, we can not use the standard logging macros in _xbt_log_cat_init(), and in all functions called
* from it.
*
- * To circumvent the problem, we define the macro
_xbt_log_init() as (0) for the length of the affected functions, and
- *
we do not forget to undefine it at the end!
+ * To circumvent the problem, we define the macro
DISABLE_XBT_LOG_CAT_INIT() to hide the real _xbt_log_cat_init(). The
+ *
macro has to be called at the beginning of the affected functions.
*/
*/
+static int fake_xbt_log_cat_init(xbt_log_category_t category, e_xbt_log_priority_t priority)
+{
+ return 0;
+}
+#define DISABLE_XBT_LOG_CAT_INIT() \
+ int (*_xbt_log_cat_init)(xbt_log_category_t, e_xbt_log_priority_t) = fake_xbt_log_cat_init;
static void _xbt_log_cat_apply_set(xbt_log_category_t category, xbt_log_setting_t setting)
{
static void _xbt_log_cat_apply_set(xbt_log_category_t category, xbt_log_setting_t setting)
{
-#define _xbt_log_cat_init(a, b) (0)
-
+ DISABLE_XBT_LOG_CAT_INIT();
if (setting->thresh != xbt_log_priority_uninitialized) {
xbt_log_threshold_set(category, setting->thresh);
if (setting->thresh != xbt_log_priority_uninitialized) {
xbt_log_threshold_set(category, setting->thresh);
@@
-431,7
+436,6
@@
static void _xbt_log_cat_apply_set(xbt_log_category_t category, xbt_log_setting_
category->additivity = 0;
XBT_DEBUG("Set %p as appender of category '%s'", setting->appender, category->name);
}
category->additivity = 0;
XBT_DEBUG("Set %p as appender of category '%s'", setting->appender, category->name);
}
-#undef _xbt_log_cat_init
}
/*
}
/*
@@
-440,8
+444,7
@@
static void _xbt_log_cat_apply_set(xbt_log_category_t category, xbt_log_setting_
*/
int _xbt_log_cat_init(xbt_log_category_t category, e_xbt_log_priority_t priority)
{
*/
int _xbt_log_cat_init(xbt_log_category_t category, e_xbt_log_priority_t priority)
{
-#define _xbt_log_cat_init(a, b) (0)
-
+ DISABLE_XBT_LOG_CAT_INIT();
if (log_cat_init_mutex != NULL)
xbt_os_mutex_acquire(log_cat_init_mutex);
if (log_cat_init_mutex != NULL)
xbt_os_mutex_acquire(log_cat_init_mutex);
@@
-519,8
+522,6
@@
int _xbt_log_cat_init(xbt_log_category_t category, e_xbt_log_priority_t priority
if (log_cat_init_mutex != NULL)
xbt_os_mutex_release(log_cat_init_mutex);
return priority >= category->threshold;
if (log_cat_init_mutex != NULL)
xbt_os_mutex_release(log_cat_init_mutex);
return priority >= category->threshold;
-
-#undef _xbt_log_cat_init
}
void xbt_log_parent_set(xbt_log_category_t cat, xbt_log_category_t parent)
}
void xbt_log_parent_set(xbt_log_category_t cat, xbt_log_category_t parent)
@@
-779,7
+780,7
@@
void xbt_log_appender_set(xbt_log_category_t cat, xbt_log_appender_t app)
void xbt_log_layout_set(xbt_log_category_t cat, xbt_log_layout_t lay)
{
void xbt_log_layout_set(xbt_log_category_t cat, xbt_log_layout_t lay)
{
-#define _xbt_log_cat_init(a, b) (0)
+ DISABLE_XBT_LOG_CAT_INIT();
if (!cat->appender) {
XBT_VERB ("No appender to category %s. Setting the file appender as default", cat->name);
xbt_log_appender_set(cat, xbt_log_appender_file_new(NULL));
if (!cat->appender) {
XBT_VERB ("No appender to category %s. Setting the file appender as default", cat->name);
xbt_log_appender_set(cat, xbt_log_appender_file_new(NULL));
@@
-792,7
+793,6
@@
void xbt_log_layout_set(xbt_log_category_t cat, xbt_log_layout_t lay)
}
cat->layout = lay;
xbt_log_additivity_set(cat, 0);
}
cat->layout = lay;
xbt_log_additivity_set(cat, 0);
-#undef _xbt_log_cat_init
}
void xbt_log_additivity_set(xbt_log_category_t cat, int additivity)
}
void xbt_log_additivity_set(xbt_log_category_t cat, int additivity)