diff options
author | Mike Perry <mikeperry-git@fscked.org> | 2010-07-27 08:45:23 -0700 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2010-08-13 20:46:33 -0400 |
commit | 5b0c0e1f89b020f4fc50fa1b50edbb17fa776fe4 (patch) | |
tree | dde0762166433b5dc882fe3d6cbc279543127725 /src/or/circuituse.c | |
parent | b1a588855380d021b536f42b70c9815b83eca430 (diff) | |
download | tor-5b0c0e1f89b020f4fc50fa1b50edbb17fa776fe4.tar.gz tor-5b0c0e1f89b020f4fc50fa1b50edbb17fa776fe4.zip |
Add check for CIRCUIT_PURPOSE_S_REND_JOINED.
These circuits stick around much longer than others on the server side for
performance reasons. Their lifetime is controlled by the client.
Diffstat (limited to 'src/or/circuituse.c')
-rw-r--r-- | src/or/circuituse.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c index 4503e1d817..65ecb5433c 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -746,13 +746,18 @@ circuit_expire_old_circuits_clientside(time_t now) (long)(now - circ->timestamp_created)); circuit_mark_for_close(circ, END_CIRC_REASON_FINISHED); } else if (!TO_ORIGIN_CIRCUIT(circ)->is_ancient) { - log_notice(LD_CIRC, - "Ancient non-dirty circuit %d is still around after " - "%ld seconds. Purpose: %d", - TO_ORIGIN_CIRCUIT(circ)->global_identifier, - (long)(now - circ->timestamp_created), - circ->purpose); - TO_ORIGIN_CIRCUIT(circ)->is_ancient = 1; + /* Server side rend joined circuits can end up really old, because + * they are reused by clients for longer than normal. The client + * controls their lifespan. */ + if (circ->purpose != CIRCUIT_PURPOSE_S_REND_JOINED) { + log_notice(LD_CIRC, + "Ancient non-dirty circuit %d is still around after " + "%ld seconds. Purpose: %d", + TO_ORIGIN_CIRCUIT(circ)->global_identifier, + (long)(now - circ->timestamp_created), + circ->purpose); + TO_ORIGIN_CIRCUIT(circ)->is_ancient = 1; + } } } } |