mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	Indicate the need to reload without actually reloading...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		
							
								
								
									
										15
									
								
								logger.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								logger.c
									
									
									
									
									
								
							| @@ -49,6 +49,7 @@ static int syslog_level_map[] = { | |||||||
|  |  | ||||||
| static ast_mutex_t msglist_lock = AST_MUTEX_INITIALIZER; | static ast_mutex_t msglist_lock = AST_MUTEX_INITIALIZER; | ||||||
| static ast_mutex_t loglock = AST_MUTEX_INITIALIZER; | static ast_mutex_t loglock = AST_MUTEX_INITIALIZER; | ||||||
|  | static int pending_logger_reload = 0; | ||||||
|  |  | ||||||
| static struct msglist { | static struct msglist { | ||||||
| 	char *msg; | 	char *msg; | ||||||
| @@ -265,7 +266,6 @@ int reload_logger(int rotate) | |||||||
| 	FILE *myf; | 	FILE *myf; | ||||||
|  |  | ||||||
| 	int x; | 	int x; | ||||||
|  |  | ||||||
| 	ast_mutex_lock(&loglock); | 	ast_mutex_lock(&loglock); | ||||||
| 	if (eventlog)  | 	if (eventlog)  | ||||||
| 		fclose(eventlog); | 		fclose(eventlog); | ||||||
| @@ -334,6 +334,7 @@ int reload_logger(int rotate) | |||||||
| 	} else  | 	} else  | ||||||
| 		ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno)); | 		ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno)); | ||||||
| 	init_logger_chain(); | 	init_logger_chain(); | ||||||
|  | 	pending_logger_reload = 0; | ||||||
| 	return -1; | 	return -1; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -384,10 +385,8 @@ static struct ast_cli_entry rotate_logger_cli = | |||||||
| 	logger_rotate_help }; | 	logger_rotate_help }; | ||||||
|  |  | ||||||
| static int handle_SIGXFSZ(int sig) { | static int handle_SIGXFSZ(int sig) { | ||||||
|     reload_logger(1); | 	/* Indicate need to reload */ | ||||||
|     ast_log(LOG_EVENT,"Rotated Logs Per SIGXFSZ\n"); | 	pending_logger_reload = 1; | ||||||
|     if (option_verbose) |  | ||||||
| 	    ast_verbose("Rotated Logs Per SIGXFSZ\n"); |  | ||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -535,6 +534,12 @@ void ast_log(int level, const char *file, int line, const char *function, const | |||||||
|  |  | ||||||
|     ast_mutex_unlock(&loglock); |     ast_mutex_unlock(&loglock); | ||||||
|     /* end critical section */ |     /* end critical section */ | ||||||
|  | 	if (pending_logger_reload) { | ||||||
|  | 	    reload_logger(1); | ||||||
|  | 	    ast_log(LOG_EVENT,"Rotated Logs Per SIGXFSZ\n"); | ||||||
|  | 	    if (option_verbose) | ||||||
|  | 		    ast_verbose("Rotated Logs Per SIGXFSZ\n"); | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| extern void ast_verbose(const char *fmt, ...) | extern void ast_verbose(const char *fmt, ...) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user