summaryrefslogtreecommitdiff
path: root/src/or/circuitmux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/circuitmux.c')
-rw-r--r--src/or/circuitmux.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/or/circuitmux.c b/src/or/circuitmux.c
index d4ea643679..7be68583c1 100644
--- a/src/or/circuitmux.c
+++ b/src/or/circuitmux.c
@@ -369,24 +369,24 @@ circuitmux_detach_all_circuits(circuitmux_t *cmux)
if (circ) {
/* Clear the circuit's mux for this direction */
if (to_remove->muxinfo.direction == CELL_DIRECTION_OUT) {
- /* Clear n_mux */
- circ->n_mux = NULL;
/*
* Update active_circuits et al.; this does policy notifies, so
* comes before freeing policy data
*/
circuitmux_make_circuit_inactive(cmux, circ, CELL_DIRECTION_OUT);
+ /* Clear n_mux */
+ circ->n_mux = NULL;
} else if (circ->magic == OR_CIRCUIT_MAGIC) {
/*
- * It has a sensible p_chan and direction == CELL_DIRECTION_IN,
- * so clear p_mux.
- */
- TO_OR_CIRCUIT(circ)->p_mux = NULL;
- /*
* Update active_circuits et al.; this does policy notifies, so
* comes before freeing policy data
*/
circuitmux_make_circuit_inactive(cmux, circ, CELL_DIRECTION_IN);
+ /*
+ * It has a sensible p_chan and direction == CELL_DIRECTION_IN,
+ * so clear p_mux.
+ */
+ TO_OR_CIRCUIT(circ)->p_mux = NULL;
} else {
/* Complain and move on */
log_warn(LD_CIRC,