aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitlist.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2005-03-02 03:13:05 +0000
committerNick Mathewson <nickm@torproject.org>2005-03-02 03:13:05 +0000
commite14f812a67e2816dc3fb9b8fcc2bf83fb8d93559 (patch)
tree27a0f5a623e8b51f2b69d4e90aaf1e991d86849d /src/or/circuitlist.c
parentb0b396a7ce77fd68ef900e5a3096ee1961389327 (diff)
downloadtor-e14f812a67e2816dc3fb9b8fcc2bf83fb8d93559.tar.gz
tor-e14f812a67e2816dc3fb9b8fcc2bf83fb8d93559.zip
Still more code to make sure we send the right number and kind of RELAY END cells
svn:r3723
Diffstat (limited to 'src/or/circuitlist.c')
-rw-r--r--src/or/circuitlist.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 0153297b86..03a9951500 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -396,8 +396,12 @@ int _circuit_mark_for_close(circuit_t *circ) {
while (circ->resolving_streams) {
conn = circ->resolving_streams;
circ->resolving_streams = conn->next_stream;
- if (!conn->marked_for_close)
+ if (!conn->marked_for_close) {
+ /* The other side will see a DESTROY, and infer that the connections
+ * are closing because the circuit is getting torn down. No need
+ * to send an end cell*/
connection_mark_for_close(conn);
+ }
}
if (circ->p_conn)
connection_send_destroy(circ->p_circ_id, circ->p_conn);