vici: Avoid recursive control log invocations
This commit is contained in:
@@ -49,6 +49,8 @@ typedef struct {
|
|||||||
u_int id;
|
u_int id;
|
||||||
/** loglevel */
|
/** loglevel */
|
||||||
level_t level;
|
level_t level;
|
||||||
|
/** prevent recursive log */
|
||||||
|
u_int recursive;
|
||||||
} log_info_t;
|
} log_info_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -58,6 +60,8 @@ static bool log_vici(log_info_t *info, debug_t group, level_t level,
|
|||||||
ike_sa_t *ike_sa, char *text)
|
ike_sa_t *ike_sa, char *text)
|
||||||
{
|
{
|
||||||
if (level <= info->level)
|
if (level <= info->level)
|
||||||
|
{
|
||||||
|
if (info->recursive++ == 0)
|
||||||
{
|
{
|
||||||
vici_message_t *message;
|
vici_message_t *message;
|
||||||
vici_builder_t *builder;
|
vici_builder_t *builder;
|
||||||
@@ -81,6 +85,8 @@ static bool log_vici(log_info_t *info, debug_t group, level_t level,
|
|||||||
info->id, message);
|
info->id, message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
info->recursive--;
|
||||||
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user