aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/circuituse.c')
-rw-r--r--src/or/circuituse.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index 87d3f3c05..e808a3182 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -524,8 +524,11 @@ circuit_about_to_close_connection(connection_t *conn)
*/
switch (conn->type) {
case CONN_TYPE_OR: {
- /* Inform any pending (not attached) circs that they should give up. */
- circuit_n_conn_done(conn, 0);
+ if (connection_state_is_open(conn)) {
+ /* Inform any pending (not attached) circs that they should
+ * give up. */
+ circuit_n_conn_done(conn, 0);
+ }
/* Now close all the attached circuits on it. */
circuit_unlink_all_from_or_conn(conn, END_CIRC_REASON_OR_CONN_CLOSED);
return;