aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitlist.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-06-11 11:57:56 -0400
committerNick Mathewson <nickm@torproject.org>2014-06-11 11:57:56 -0400
commit3a2e25969fbb7bf38fcfafce676e7f56a1aca118 (patch)
tree39d1fc39c7a66bfe63a777c0b4d752a6dc56bcaa /src/or/circuitlist.c
parent7f3563058d6b9215fe93116a71db9573e790e017 (diff)
parentbbb8f12ee4efd6f1c2bc8b34dfaf50e314863476 (diff)
downloadtor-3a2e25969fbb7bf38fcfafce676e7f56a1aca118.tar
tor-3a2e25969fbb7bf38fcfafce676e7f56a1aca118.tar.gz
Merge remote-tracking branch 'public/ticket6799_024_v2_squashed'
Conflicts: src/or/channel.c src/or/circuitlist.c src/or/connection.c Conflicts involved removal of next_circ_id and addition of unusable-circid tracking.
Diffstat (limited to 'src/or/circuitlist.c')
-rw-r--r--src/or/circuitlist.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 6238e08e1..0140afcd7 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -328,10 +328,13 @@ circuit_set_p_circid_chan(or_circuit_t *or_circ, circid_t id,
circuit_set_circid_chan_helper(circ, CELL_DIRECTION_IN, id, chan);
- if (chan)
+ if (chan) {
tor_assert(bool_eq(or_circ->p_chan_cells.n,
or_circ->next_active_on_p_chan));
+ chan->timestamp_last_had_circuits = approx_time();
+ }
+
if (circ->p_delete_pending && old_chan) {
channel_mark_circid_unusable(old_chan, old_id);
circ->p_delete_pending = 0;
@@ -350,9 +353,12 @@ circuit_set_n_circid_chan(circuit_t *circ, circid_t id,
circuit_set_circid_chan_helper(circ, CELL_DIRECTION_OUT, id, chan);
- if (chan)
+ if (chan) {
tor_assert(bool_eq(circ->n_chan_cells.n, circ->next_active_on_n_chan));
+ chan->timestamp_last_had_circuits = approx_time();
+ }
+
if (circ->n_delete_pending && old_chan) {
channel_mark_circid_unusable(old_chan, old_id);
circ->n_delete_pending = 0;