Commit 9405d4a4 authored by Dmitry Safonov's avatar Dmitry Safonov Committed by Pavel Emelyanov

criu-log: introduce print_once

Impact: small cleanup
Signed-off-by: 's avatarDmitry Safonov <dsafonov@odin.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 0ce8e429
...@@ -41,6 +41,15 @@ extern void print_on_level(unsigned int loglevel, const char *format, ...) ...@@ -41,6 +41,15 @@ extern void print_on_level(unsigned int loglevel, const char *format, ...)
# define LOG_PREFIX # define LOG_PREFIX
#endif #endif
#define print_once(loglevel, fmt, ...) \
do { \
static bool __printed; \
if (!__printed) { \
print_on_level(loglevel, fmt, ##__VA_ARGS__); \
__printed = 1; \
} \
} while (0)
#define pr_msg(fmt, ...) \ #define pr_msg(fmt, ...) \
print_on_level(LOG_MSG, \ print_on_level(LOG_MSG, \
fmt, ##__VA_ARGS__) fmt, ##__VA_ARGS__)
...@@ -55,13 +64,7 @@ extern void print_on_level(unsigned int loglevel, const char *format, ...) ...@@ -55,13 +64,7 @@ extern void print_on_level(unsigned int loglevel, const char *format, ...)
__FILE__, __LINE__, ##__VA_ARGS__) __FILE__, __LINE__, ##__VA_ARGS__)
#define pr_err_once(fmt, ...) \ #define pr_err_once(fmt, ...) \
do { \ print_once(LOG_ERROR, fmt, ##__VA_ARGS__)
static bool __printed; \
if (!__printed) { \
pr_err(fmt, ##__VA_ARGS__); \
__printed = 1; \
} \
} while (0)
#define pr_warn(fmt, ...) \ #define pr_warn(fmt, ...) \
print_on_level(LOG_WARN, \ print_on_level(LOG_WARN, \
...@@ -69,13 +72,7 @@ extern void print_on_level(unsigned int loglevel, const char *format, ...) ...@@ -69,13 +72,7 @@ extern void print_on_level(unsigned int loglevel, const char *format, ...)
__FILE__, __LINE__, ##__VA_ARGS__) __FILE__, __LINE__, ##__VA_ARGS__)
#define pr_warn_once(fmt, ...) \ #define pr_warn_once(fmt, ...) \
do { \ print_once(LOG_WARN, fmt, ##__VA_ARGS__)
static bool __printed; \
if (!__printed) { \
pr_warn(fmt, ##__VA_ARGS__); \
__printed = 1; \
} \
} while (0)
#define pr_debug(fmt, ...) \ #define pr_debug(fmt, ...) \
print_on_level(LOG_DEBUG, \ print_on_level(LOG_DEBUG, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment