Commit 338a0266 authored by Robert Ransom's avatar Robert Ransom
Browse files

Split control connection cleanup out of connection_free

parent 86aeb152
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -479,8 +479,7 @@ connection_free(connection_t *conn)
    }
  }
  if (conn->type == CONN_TYPE_CONTROL) {
    TO_CONTROL_CONN(conn)->event_mask = 0;
    control_update_global_event_mask();
    connection_control_closed(TO_CONTROL_CONN(conn));
  }
  connection_unregister_events(conn);
  _connection_free(conn);
+10 −0
Original line number Diff line number Diff line
@@ -2739,6 +2739,16 @@ connection_control_reached_eof(control_connection_t *conn)
  return 0;
}

/** Called when <b>conn</b> is being freed. */
void
connection_control_closed(control_connection_t *conn)
{
  tor_assert(conn);

  conn->event_mask = 0;
  control_update_global_event_mask();
}

/** Return true iff <b>cmd</b> is allowable (or at least forgivable) at this
 * stage of the protocol. */
static int
+2 −0
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ void control_adjust_event_log_severity(void);

int connection_control_finished_flushing(control_connection_t *conn);
int connection_control_reached_eof(control_connection_t *conn);
void connection_control_closed(control_connection_t *conn);

int connection_control_process_inbuf(control_connection_t *conn);

#define EVENT_AUTHDIR_NEWDESCS 0x000D