aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
Diffstat (limited to 'src/or')
-rw-r--r--src/or/connection.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/or/connection.c b/src/or/connection.c
index 134836c44..43e8339ac 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -737,6 +737,10 @@ int connection_send_destroy(uint16_t circ_id, connection_t *conn) {
if(!connection_speaks_cells(conn)) {
log_fn(LOG_INFO,"CircID %d: At an edge. Marking connection for close.",
circ_id);
+ conn->has_sent_end = 1; /* we're closing the circuit, nothing to send to */
+/* XXX really, we should separate this function into two functions.
+ * one of them actually sends the destroy cell, as this function's name
+ * implies, and another one destroys a stream. Yes/no? -RD */
connection_mark_for_close(conn, END_STREAM_REASON_DESTROY);
return 0;
}