diff options
Diffstat (limited to 'src/or/connection_edge.c')
-rw-r--r-- | src/or/connection_edge.c | 2 |
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 */ |