Browse Source

bugfix: only close old circuits if they have no connections!

svn:r251
Roger Dingledine 22 years ago
parent
commit
10902028e0
2 changed files with 2 additions and 2 deletions
  1. 1 1
      src/or/circuit.c
  2. 1 1
      src/or/main.c

+ 1 - 1
src/or/circuit.c

@@ -630,7 +630,7 @@ void circuit_expire_unused_circuits(void) {
   while(circ) {
     tmpcirc = circ;
     circ = circ->next;
-    if(tmpcirc != youngest && (!tmpcirc->p_conn || tmpcirc->p_conn->type == CONN_TYPE_AP)) {
+    if(tmpcirc != youngest && !tmpcirc->p_conn) {
       log(LOG_DEBUG,"circuit_expire_unused_circuits(): Closing n_aci %d",tmpcirc->n_aci);
       circuit_close(tmpcirc);
     }

+ 1 - 1
src/or/main.c

@@ -327,7 +327,7 @@ int prepare_for_poll(int *timeout) {
       circuit_launch_new(-1); /* tell it to forget about previous failures */
       circ = circuit_get_newest_by_edge_type(EDGE_AP);
       if(!circ || circ->dirty) {
-        log(LOG_INFO,"prepare_for_poll(): Youngest circuit missing or dirty; launching replacement.");
+        log(LOG_INFO,"prepare_for_poll(): Youngest circuit %s; launching replacement.", circ ? "dirty" : "missing");
         circuit_launch_new(0); /* make an onion and lay the circuit */
       }
       time_to_new_circuit = now.tv_sec + options.NewCircuitPeriod;