print: add rate limited versions of pr_* macros.
Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
This commit is contained in:
		
							parent
							
								
									01d523fb48
								
							
						
					
					
						commit
						ddd653e7a9
					
				
							
								
								
									
										17
									
								
								print.h
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								print.h
									
									
									
									
									
								
							@ -44,4 +44,21 @@ void print_set_verbose(int value);
 | 
				
			|||||||
#define pr_info(x...)    print(LOG_INFO, x)
 | 
					#define pr_info(x...)    print(LOG_INFO, x)
 | 
				
			||||||
#define pr_debug(x...)   print(LOG_DEBUG, 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
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user