]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
kill -USR2 now moves all logs to loglevel debug
authorRoger Dingledine <arma@torproject.org>
Sat, 20 Nov 2004 07:33:55 +0000 (07:33 +0000)
committerRoger Dingledine <arma@torproject.org>
Sat, 20 Nov 2004 07:33:55 +0000 (07:33 +0000)
plus fix some typos

svn:r2914

src/common/log.c
src/common/log.h
src/or/config.c
src/or/connection.c
src/or/hibernate.c
src/or/main.c

index 49ad0bd525726f649c8a33e5c51074907b1f8475..8c4ff3adc54754f2f0dee003f86e057b52aabb3b 100644 (file)
@@ -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
index b981ab43884f9ceeb3f9961ac5bd59923b5a9669..73726586c2b5bcb07b1b15fa4e2cfc3a07bd5060 100644 (file)
@@ -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);
index 05cf0a2f88426bbb3f87b25bb0e2199dcf4413c8..f34da4657e06371fbacf4335868018fa56988b1d 100644 (file)
@@ -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),
index e2f06cea437625449ff0eb39a5c745cd3b1a78c5..cec377357076238f84f9e33da137332b044f5947 100644 (file)
@@ -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();
index 054b96e00f30ea06e114fd9ae5318b695f0a18d8..2407fad6cf9570f824eaf58dab4839ee425687b9 100644 (file)
@@ -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;
index b93ee6e30c3ee905c5e6c5538b65fc8d4ff1cfd1..4fadd2b56b41fb3aaa0367c56672392b53c0ea34 100644 (file)
@@ -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;