mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 10:12:15 +01:00
kill -USR2 now moves all logs to loglevel debug
plus fix some typos svn:r2914
This commit is contained in:
parent
a30a5bce0f
commit
dd19cf6ba3
@ -441,6 +441,15 @@ int get_min_log_level(void)
|
||||
return min;
|
||||
}
|
||||
|
||||
/** Switch all logs to output at most verbose level. */
|
||||
void switch_logs_debug(void)
|
||||
{
|
||||
logfile_t *lf;
|
||||
for (lf = logfiles; lf; lf=lf->next) {
|
||||
lf->loglevel = LOG_DEBUG;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Local Variables:
|
||||
mode:c
|
||||
|
@ -64,6 +64,7 @@ int add_syslog_log(int loglevelMin, int loglevelMax);
|
||||
#endif
|
||||
int add_callback_log(int loglevelMin, int loglevelMax, log_callback cb);
|
||||
int get_min_log_level(void);
|
||||
void switch_logs_debug(void);
|
||||
void close_logs(void);
|
||||
void reset_logs(void);
|
||||
void add_temp_log(void);
|
||||
|
@ -104,7 +104,7 @@ static config_var_t config_vars[] = {
|
||||
VAR("DirPort", UINT, DirPort, "0"),
|
||||
VAR("DirBindAddress", LINELIST, DirBindAddress, NULL),
|
||||
VAR("DirFetchPeriod", INTERVAL, DirFetchPeriod, "1 hour"),
|
||||
VAR("DirPostPeriod", INTERVAL, DirPostPeriod, "10 mintues"),
|
||||
VAR("DirPostPeriod", INTERVAL, DirPostPeriod, "10 minutes"),
|
||||
VAR("RendPostPeriod", INTERVAL, RendPostPeriod, "10 minutes"),
|
||||
VAR("DirPolicy", LINELIST, DirPolicy, NULL),
|
||||
VAR("DirServer", LINELIST, DirServers, NULL),
|
||||
|
@ -718,7 +718,7 @@ static void connection_consider_empty_buckets(connection_t *conn) {
|
||||
}
|
||||
}
|
||||
|
||||
/** Initiatialize the global read bucket to options->BandwidthBurst,
|
||||
/** Initialize the global read bucket to options->BandwidthBurst,
|
||||
* and current_time to the current time. */
|
||||
void connection_bucket_init(void) {
|
||||
or_options_t *options = get_options();
|
||||
|
@ -211,7 +211,7 @@ update_expected_bandwidth(void)
|
||||
/* If we haven't gotten enough data last interval, guess that
|
||||
* we'll be used at our maximum capacity. This is unlikely to be
|
||||
* so, but it will give us an okay first estimate, and we'll stay
|
||||
* up until we send Max ytes. Next interval, we'll choose
|
||||
* up until we send Max bytes. Next interval, we'll choose
|
||||
* our starting time based on how much we sent this interval.
|
||||
*/
|
||||
expected_bandwidth_usage = max_configured;
|
||||
|
@ -50,6 +50,7 @@ static int nfds=0; /**< Number of connections currently active. */
|
||||
|
||||
#ifndef MS_WINDOWS /* do signal stuff only on unix */
|
||||
static int please_dumpstats=0; /**< Whether we should dump stats during the loop. */
|
||||
static int please_debug=0; /**< Whether we should switch all logs to -l debug. */
|
||||
static int please_reset=0; /**< Whether we just got a sighup. */
|
||||
static int please_reap_children=0; /**< Whether we should waitpid for exited children. */
|
||||
static int please_sigpipe=0; /**< Whether we've caught a sigpipe lately. */
|
||||
@ -815,7 +816,7 @@ static int do_main_loop(void) {
|
||||
}
|
||||
#endif
|
||||
#ifndef MS_WINDOWS /* do signal stuff only on unix */
|
||||
if(please_shutdown) {
|
||||
if (please_shutdown) {
|
||||
if(!server_mode(get_options())) { /* do it now */
|
||||
log(LOG_NOTICE,"Interrupt: exiting cleanly.");
|
||||
tor_cleanup();
|
||||
@ -824,16 +825,20 @@ static int do_main_loop(void) {
|
||||
hibernate_begin_shutdown();
|
||||
please_shutdown = 0;
|
||||
}
|
||||
if(please_sigpipe) {
|
||||
if (please_sigpipe) {
|
||||
log(LOG_NOTICE,"Caught sigpipe. Ignoring.");
|
||||
please_sigpipe = 0;
|
||||
}
|
||||
if(please_dumpstats) {
|
||||
if (please_dumpstats) {
|
||||
/* prefer to log it at INFO, but make sure we always see it */
|
||||
dumpstats(get_min_log_level()<LOG_INFO ? get_min_log_level() : LOG_INFO);
|
||||
please_dumpstats = 0;
|
||||
}
|
||||
if(please_reset) {
|
||||
if (please_debug) {
|
||||
switch_logs_debug();
|
||||
please_debug = 0;
|
||||
}
|
||||
if (please_reset) {
|
||||
if (do_hup() < 0) {
|
||||
log_fn(LOG_WARN,"Restart failed (config error?). Exiting.");
|
||||
tor_cleanup();
|
||||
@ -841,7 +846,7 @@ static int do_main_loop(void) {
|
||||
}
|
||||
please_reset = 0;
|
||||
}
|
||||
if(please_reap_children) {
|
||||
if (please_reap_children) {
|
||||
while(waitpid(-1,NULL,WNOHANG) > 0) ; /* keep reaping until no more zombies */
|
||||
please_reap_children = 0;
|
||||
}
|
||||
@ -853,7 +858,7 @@ static int do_main_loop(void) {
|
||||
poll_result = tor_poll(poll_array, nfds, timeout);
|
||||
|
||||
/* let catch() handle things like ^c, and otherwise don't worry about it */
|
||||
if(poll_result < 0) {
|
||||
if (poll_result < 0) {
|
||||
/* let the program survive things like ^z */
|
||||
if(tor_socket_errno(-1) != EINTR) {
|
||||
log_fn(LOG_ERR,"poll failed: %s [%d]",
|
||||
@ -869,15 +874,15 @@ static int do_main_loop(void) {
|
||||
}
|
||||
|
||||
/* do all the reads and errors first, so we can detect closed sockets */
|
||||
for(i=0;i<nfds;i++)
|
||||
for (i=0;i<nfds;i++)
|
||||
conn_read(i); /* this also marks broken connections */
|
||||
|
||||
/* then do the writes */
|
||||
for(i=0;i<nfds;i++)
|
||||
for (i=0;i<nfds;i++)
|
||||
conn_write(i);
|
||||
|
||||
/* any of the conns need to be closed now? */
|
||||
for(i=0;i<nfds;i++)
|
||||
for (i=0;i<nfds;i++)
|
||||
conn_close_if_marked(i);
|
||||
|
||||
/* refilling buckets and sending cells happens at the beginning of the
|
||||
@ -910,6 +915,9 @@ static void catch(int the_signal) {
|
||||
case SIGUSR1:
|
||||
please_dumpstats = 1;
|
||||
break;
|
||||
case SIGUSR2:
|
||||
please_debug = 1;
|
||||
break;
|
||||
case SIGCHLD:
|
||||
please_reap_children = 1;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user