tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 3a73f6612aad051e0d9a9228a136e06720748c16
parent 800b823c292009dd232d9758d1b40c61072e4433
Author: Nick Mathewson <nickm@torproject.org>
Date:   Thu, 17 Oct 2019 12:30:52 -0400

Replace add_temp_log() with add_default_log().

We used to have this function so that we could mark our initial
log-to-stdout as specifically temporary so that we would delete it
once regular logs were configured.  But it's no longer necessary to
mark these logs as temporary, since we now use a mark-and-sweep
process to ensure that _all_ not-configured logs are closed when we
change our configuration.

Instead, this function will be the basis of a refactoring in how we
handle default logs.

Diffstat:
Msrc/app/main/main.c | 4++--
Msrc/lib/log/log.c | 11++++-------
Msrc/lib/log/log.h | 2+-
3 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/app/main/main.c b/src/app/main/main.c @@ -564,11 +564,11 @@ tor_init(int argc, char *argv[]) break; case QUIET_HUSH: /* --hush: log at warning or higher. */ - add_temp_log(LOG_WARN); + add_default_log(LOG_WARN); break; case QUIET_NONE: /* fall through */ default: - add_temp_log(LOG_NOTICE); + add_default_log(LOG_NOTICE); } quiet_level = quiet; diff --git a/src/lib/log/log.c b/src/lib/log/log.c @@ -995,18 +995,16 @@ logs_set_domain_logging(int enabled) UNLOCK_LOGS(); } -/** Add a log handler to receive messages during startup (before the real - * logs are initialized). +/** Add a log handler to accept messages when no other log is configured. */ void -add_temp_log(int min_severity) +add_default_log(int min_severity) { log_severity_list_t *s = tor_malloc_zero(sizeof(log_severity_list_t)); set_log_severity_config(min_severity, LOG_ERR, s); LOCK_LOGS(); - add_stream_log_impl(s, "<temp>", fileno(stdout)); + add_stream_log_impl(s, "<default>", fileno(stdout)); tor_free(s); - logfiles->is_temporary = 1; UNLOCK_LOGS(); } @@ -1149,8 +1147,7 @@ flush_log_messages_from_startup(void) UNLOCK_LOGS(); } -/** Close any log handlers added by add_temp_log() or marked by - * mark_logs_temp(). */ +/** Close any log handlers marked by mark_logs_temp(). */ void close_temp_logs(void) { diff --git a/src/lib/log/log.h b/src/lib/log/log.h @@ -185,7 +185,7 @@ int get_min_log_level(void); void switch_logs_debug(void); void logs_free_all(void); void logs_close_sigsafe(void); -void add_temp_log(int min_severity); +void add_default_log(int min_severity); void close_temp_logs(void); void rollback_log_changes(void); void mark_logs_temp(void);