diff options
author | rofl0r <rofl0r@users.noreply.github.com> | 2020-01-15 16:35:43 +0000 |
---|---|---|
committer | rofl0r <rofl0r@users.noreply.github.com> | 2020-01-15 16:35:43 +0000 |
commit | 27d96df99900c5a62ab0fdf2a37565e78f256d6a (patch) | |
tree | eddbf6e75b8d48eaf1941ab02cf6e9c94bd905be /src | |
parent | c63d5d26b47b44d70af54aa31f811e4815fe4ad9 (diff) |
remove duplicate code calling reload_config_file()
as a side effect of not updating the config pointer when loading
the config file fails, the "FIXME" level comment to take appropriate
action in that case has been removed. the only issue remaining
when receiving a SIGHUP and encountering a malformed config file would
now be the case that output to syslog/logfile won't be resumed, if
initially so configured.
Diffstat (limited to 'src')
-rw-r--r-- | src/child.c | 7 | ||||
-rw-r--r-- | src/main.c | 12 | ||||
-rw-r--r-- | src/main.h | 2 |
3 files changed, 8 insertions, 13 deletions
diff --git a/src/child.c b/src/child.c index 4a94b98..9ebba02 100644 --- a/src/child.c +++ b/src/child.c @@ -114,11 +114,8 @@ void child_main_loop (void) /* Handle log rotation if it was requested */ if (received_sighup) { - /* - * Ignore the return value of reload_config for now. - * This should actually be handled somehow... - */ - reload_config (); + + reload_config (1); #ifdef FILTER_ENABLE filter_reload (); @@ -244,21 +244,22 @@ change_user (const char *program) * convenience wrapper around reload_config_file * that also re-initializes logging. */ -int reload_config (void) +int reload_config (int reload_logging) { int ret; - shutdown_logging (); + if (reload_logging) shutdown_logging (); ret = reload_config_file (config_file, &config_main, &config_defaults); + if (ret != 0) { goto done; } config = &config_main; - ret = setup_logging (); + if (reload_logging) ret = setup_logging (); done: return ret; @@ -310,12 +311,9 @@ main (int argc, char **argv) initialize_config_defaults (&config_defaults); - if (reload_config_file (config_file, - &config_main, - &config_defaults)) { + if (reload_config(0)) { exit (EX_SOFTWARE); } - config = &config_main; init_stats (); @@ -32,6 +32,6 @@ extern struct config_s *config; extern unsigned int received_sighup; /* boolean */ -extern int reload_config (void); +extern int reload_config (int reload_logging); #endif /* __MAIN_H__ */ |