Add comments in rendclient.c noting that certain functions involved in handling ended HS connection attempts must be idempotent

This commit is contained in:
Andrea Shepard 2015-01-15 15:19:31 +00:00
parent 3668a4126e
commit f7bb60e202

View File

@ -547,7 +547,12 @@ directory_clean_last_hid_serv_requests(time_t now)
/** Remove all requests related to the hidden service named /** Remove all requests related to the hidden service named
* <b>onion_address</b> from the history of times of requests to * <b>onion_address</b> from the history of times of requests to
* hidden service directories. */ * hidden service directories.
*
* This is called from rend_client_note_connection_attempt_ended(), which
* must be idempotent, so any future changes to this function must leave
* it idempotent too.
*/
static void static void
purge_hid_serv_from_last_hid_serv_requests(const char *onion_address) purge_hid_serv_from_last_hid_serv_requests(const char *onion_address)
{ {
@ -1076,8 +1081,11 @@ rend_client_desc_trynow(const char *query)
/** Clear temporary state used only during an attempt to connect to /** Clear temporary state used only during an attempt to connect to
* the hidden service named <b>onion_address</b>. Called when a * the hidden service named <b>onion_address</b>. Called when a
* connection attempt has ended; may be called occasionally at other * connection attempt has ended; it is possible for this to be called
* times, and should be reasonably harmless. */ * multiple times while handling an ended connection attempt, and
* any future changes to this functio n must ensure it remains
* idempotent.
*/
void void
rend_client_note_connection_attempt_ended(const char *onion_address) rend_client_note_connection_attempt_ended(const char *onion_address)
{ {