diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-03-15 11:09:22 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-03-15 11:09:22 -0400 |
commit | 3b2d6da45344774d58b97f709c77fb35d26ba180 (patch) | |
tree | f9d476a2cb0e8491a2513276f50c52e8e02c21b0 | |
parent | 6004dd2162633d3af526c5e3cc7dda9326e1c95e (diff) | |
parent | 567a56ae2e59aef26b31829f300c5700c7923f7b (diff) | |
download | tor-3b2d6da45344774d58b97f709c77fb35d26ba180.tar.gz tor-3b2d6da45344774d58b97f709c77fb35d26ba180.zip |
Merge branch 'maint-0.3.0'
-rw-r--r-- | changes/bug20059 | 3 | ||||
-rw-r--r-- | src/or/onion.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/changes/bug20059 b/changes/bug20059 new file mode 100644 index 0000000000..091fab06d1 --- /dev/null +++ b/changes/bug20059 @@ -0,0 +1,3 @@ + o Minor bugfixes (relay): + - Avoid a double-marked-circuit warning that can happen when we receive + DESTROY cells under heavy load. Fixes bug 20059; bugfix on 0.1.0.1-rc. diff --git a/src/or/onion.c b/src/or/onion.c index 42b9ca4b18..b3898d4085 100644 --- a/src/or/onion.c +++ b/src/or/onion.c @@ -238,7 +238,9 @@ onion_pending_add(or_circuit_t *circ, create_cell_t *onionskin) onion_queue_entry_remove(head); log_info(LD_CIRC, "Circuit create request is too old; canceling due to overload."); - circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_RESOURCELIMIT); + if (! TO_CIRCUIT(circ)->marked_for_close) { + circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_RESOURCELIMIT); + } } return 0; } |