mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
break rend_client_desc_fetched out of connection_mark_for_close
svn:r1856
This commit is contained in:
+10
-4
@@ -168,6 +168,15 @@ void connection_free_all(void) {
|
||||
connection_free(carray[i]);
|
||||
}
|
||||
|
||||
void connection_about_to_close_connection(connection_t *conn)
|
||||
{
|
||||
if(conn->type == CONN_TYPE_DIR)
|
||||
if(conn->purpose == DIR_PURPOSE_FETCH_RENDDESC)
|
||||
rend_client_desc_fetched(conn->rend_query, 0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/** Close the underlying socket for <b>conn</b>, so we don't try to
|
||||
* flush it. Must be used in conjunction with (right before)
|
||||
* connection_mark_for_close().
|
||||
@@ -218,11 +227,8 @@ _connection_mark_for_close(connection_t *conn, char reason)
|
||||
case CONN_TYPE_AP_LISTENER:
|
||||
case CONN_TYPE_DIR_LISTENER:
|
||||
case CONN_TYPE_CPUWORKER:
|
||||
/* No special processing needed. */
|
||||
break;
|
||||
case CONN_TYPE_DIR:
|
||||
if(conn->purpose == DIR_PURPOSE_FETCH_RENDDESC)
|
||||
rend_client_desc_fetched(conn->rend_query, 0);
|
||||
/* No special processing needed immediately. */
|
||||
break;
|
||||
case CONN_TYPE_OR:
|
||||
/* Remember why we're closing this connection. */
|
||||
|
||||
@@ -313,6 +313,7 @@ static void conn_close_if_marked(int i) {
|
||||
* flush and send destroys for all circuits on this conn
|
||||
*/
|
||||
circuit_about_to_close_connection(conn);
|
||||
connection_about_to_close_connection(conn);
|
||||
connection_remove(conn);
|
||||
if(conn->type == CONN_TYPE_EXIT) {
|
||||
assert_connection_edge_not_dns_pending(conn);
|
||||
|
||||
@@ -954,6 +954,7 @@ extern char *conn_type_to_string[];
|
||||
connection_t *connection_new(int type);
|
||||
void connection_free(connection_t *conn);
|
||||
void connection_free_all(void);
|
||||
void connection_about_to_close_connection(connection_t *conn);
|
||||
void connection_close_immediate(connection_t *conn);
|
||||
int _connection_mark_for_close(connection_t *conn, char reason);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user