From ddd653e7a9056594b716dafbe37d5d820ecc62af Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Thu, 10 Sep 2015 11:49:27 +0200 Subject: [PATCH] print: add rate limited versions of pr_* macros. Signed-off-by: Miroslav Lichvar --- print.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/print.h b/print.h index f5ed248..6d7aa94 100644 --- a/print.h +++ b/print.h @@ -44,4 +44,21 @@ void print_set_verbose(int value); #define pr_info(x...) print(LOG_INFO, x) #define pr_debug(x...) print(LOG_DEBUG, x) +#define PRINT_RL(l, i, x...) \ + do { \ + static time_t last = -i; \ + if (!rate_limited(i, &last)) \ + print(l, x); \ + } while (0); + +/* Rate limited versions */ +#define pl_emerg(i, x...) PRINT_RL(LOG_EMERG, i, x) +#define pl_alert(i, x...) PRINT_RL(LOG_ALERT, i, x) +#define pl_crit(i, x...) PRINT_RL(LOG_CRIT, i, x) +#define pl_err(i, x...) PRINT_RL(LOG_ERR, i, x) +#define pl_warning(i, x...) PRINT_RL(LOG_WARNING, i, x) +#define pl_notice(i, x...) PRINT_RL(LOG_NOTICE, i, x) +#define pl_info(i, x...) PRINT_RL(LOG_INFO, i, x) +#define pl_debug(i, x...) PRINT_RL(LOG_DEBUG, i, x) + #endif