diff --git a/src/common/log.c b/src/common/log.c index f3c7281b1181f1933d647778395f42602f897fdd..3e55501dd71c6dbef93ed67ffa6fb111a797a2a3 100644 --- a/src/common/log.c +++ b/src/common/log.c @@ -205,6 +205,13 @@ void close_temp_logs(void) } } +void mark_logs_temp(void) +{ + logfile_t *lf; + for (lf = logfiles; lf; lf = lf->next) + lf->is_temporary = 1; +} + /** * Add a log handler to send messages to <b>filename</b>. If opening * the logfile fails, -1 is returned and errno is set appropriately diff --git a/src/common/log.h b/src/common/log.h index 33e42b7d47133fbd39b7fca79b3e2ec139e07634..7ce5ceee0ac6de57b4716fad8d8a08398fa53ee0 100644 --- a/src/common/log.h +++ b/src/common/log.h @@ -54,6 +54,7 @@ void close_logs(); void reset_logs(); void add_temp_log(void); void close_temp_logs(void); +void mark_logs_temp(void); /* Outputs a message to stdout */ void _log(int severity, const char *format, ...) CHECK_PRINTF(2,3); diff --git a/src/or/main.c b/src/or/main.c index b63dd1439b0a4cd2f395b0edf5efd0da070a9b2f..7f2c309c01b880c6c8f67a86cf87338c923228e4 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -608,6 +608,7 @@ static int do_hup(void) { log_fn(LOG_NOTICE,"Received sighup. Reloading config."); has_completed_circuit=0; + mark_logs_temp(); /* Close current logs once new logs are open. */ /* first, reload config variables, in case they've changed */ /* no need to provide argc/v, they've been cached inside init_from_config */ if (init_from_config(0, NULL) < 0) {