|
@@ -477,12 +477,15 @@ connection_about_to_close_connection(connection_t *conn)
|
|
|
|
|
|
* failed: forget about this router, and maybe try again. */
|
|
|
connection_dir_request_failed(dir_conn);
|
|
|
-
|
|
|
- if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2)
|
|
|
- rend_client_refetch_v2_renddesc(dir_conn->rend_query);
|
|
|
}
|
|
|
if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC)
|
|
|
rend_client_desc_here(dir_conn->rend_query);
|
|
|
+
|
|
|
+ * retry as needed. (If a fetch is successful, the connection state
|
|
|
+ * is changed to DIR_PURPOSE_HAS_FETCHED_RENDDESC to mark that
|
|
|
+ * refetching is unnecessary.) */
|
|
|
+ if (conn->purpose == DIR_PURPOSE_FETCH_RENDDESC_V2)
|
|
|
+ rend_client_refetch_v2_renddesc(dir_conn->rend_query);
|
|
|
break;
|
|
|
case CONN_TYPE_OR:
|
|
|
or_conn = TO_OR_CONN(conn);
|