summaryrefslogtreecommitdiff
path: root/src/or/connection_edge.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/connection_edge.c')
-rw-r--r--src/or/connection_edge.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 5855b34695..38aedb385f 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -92,6 +92,8 @@ int connection_edge_process_inbuf(connection_t *conn) {
int connection_edge_destroy(uint16_t circ_id, connection_t *conn) {
assert(conn->type == CONN_TYPE_AP || conn->type == CONN_TYPE_EXIT);
+ if(conn->marked_for_close)
+ return 0; /* already marked; probably got an 'end' */
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 */