diff options
author | Nick Mathewson <nickm@torproject.org> | 2005-12-05 19:15:27 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2005-12-05 19:15:27 +0000 |
commit | b03e8733f35b8a61cb0c7d5c68b5532db2b796a8 (patch) | |
tree | 9c0796b75f900d74fae9e87e55a23ff3b9c141f2 /src/or/connection_or.c | |
parent | f0abb1a74b3946930a4a0df2dfb314bd44e64151 (diff) | |
download | tor-b03e8733f35b8a61cb0c7d5c68b5532db2b796a8.tar tor-b03e8733f35b8a61cb0c7d5c68b5532db2b796a8.tar.gz |
Change how OR conns get removed from the identity map; fix some warnings on shutdown.
svn:r5509
Diffstat (limited to 'src/or/connection_or.c')
-rw-r--r-- | src/or/connection_or.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/or/connection_or.c b/src/or/connection_or.c index a092d3c9e..78a999615 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -59,6 +59,27 @@ connection_or_remove_from_identity_map(connection_t *conn) conn->next_with_same_id = NULL; } +/** Remove all entries from the identity-to-orconn map, and clear + * all identities in OR conns.*/ +void +connection_or_clear_identity_map(void) +{ + int i, n; + connection_t **carray; + + get_connection_array(&carray,&n); + for (i = 0; i < n; ++i) { + connection_t* conn = carray[i]; + if (conn->type == CONN_TYPE_OR) { + memset(conn->identity_digest, 0, DIGEST_LEN); + conn->next_with_same_id = NULL; + } + } + + digestmap_free(orconn_identity_map, NULL); + orconn_identity_map = NULL; +} + /** Change conn->identity_digest to digest, and add conn into * orconn_digest_map. */ static void |