]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
it was the second bug that was nailing us.
authorRoger Dingledine <arma@torproject.org>
Tue, 27 Apr 2004 11:23:56 +0000 (11:23 +0000)
committerRoger Dingledine <arma@torproject.org>
Tue, 27 Apr 2004 11:23:56 +0000 (11:23 +0000)
periodically we expire some circuits if we already have
enough, and we were counting rend circs in that number.

(the first one wasn't a bug after all)

svn:r1729

src/or/circuit.c

index 37c9fa4abe24875b714c287d23330bfe35ae4e1d..a1ca45eee248df8381f717b86c111e301bd6202c 100644 (file)
@@ -1232,10 +1232,9 @@ void circuit_expire_old_circuits(void) {
     if (circ->timestamp_dirty &&
         circ->timestamp_dirty + options.NewCircuitPeriod < now &&
         !circ->p_conn && /* we're the origin */
-        !circ->p_streams && /* AP connections */
-        !circ->n_streams /* exit connections */ ) {
-      log_fn(LOG_DEBUG,"Closing n_circ_id %d (dirty %d secs ago)",circ->n_circ_id,
-             (int)(now - circ->timestamp_dirty));
+        !circ->p_streams /* nothing attached */ ) {
+      log_fn(LOG_DEBUG,"Closing n_circ_id %d (dirty %d secs ago, purp %d)",circ->n_circ_id,
+             (int)(now - circ->timestamp_dirty), circ->purpose);
       circuit_mark_for_close(circ);
     } else if (!circ->timestamp_dirty && CIRCUIT_IS_ORIGIN(circ) &&
                circ->state == CIRCUIT_STATE_OPEN &&
@@ -1250,6 +1249,8 @@ void circuit_expire_old_circuits(void) {
   }
   for (i = MAX_UNUSED_OPEN_CIRCUITS; i < smartlist_len(unused_open_circs); ++i) {
     circuit_t *circ = smartlist_get(unused_open_circs, i);
+    log_fn(LOG_DEBUG,"Expiring excess clean circ (n_circ_id %d, purp %d)",
+           circ->n_circ_id, circ->purpose);
     circuit_mark_for_close(circ);
   }
   smartlist_free(unused_open_circs);