mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 15:43:32 +01:00
r19089@catbus: nickm | 2008-03-27 11:05:23 -0400
Free some static hashtables and the log mutex on exit. Backport candidate. svn:r14212
This commit is contained in:
parent
03078f7f7a
commit
02acee891c
@ -17,6 +17,8 @@ Changes in version 0.2.1.1-alpha - 2008-??-??
|
|||||||
2. Bugfix on 0.2.0.16-alpha.
|
2. Bugfix on 0.2.0.16-alpha.
|
||||||
- Free authority certificates on exit, so they don't look like memory
|
- Free authority certificates on exit, so they don't look like memory
|
||||||
leaks. Bugfix on 0.2.0.19-alpha.
|
leaks. Bugfix on 0.2.0.19-alpha.
|
||||||
|
- Free static hashtables for policy maps and for TLS connections on
|
||||||
|
shutdown, so they don't look like memory leaks. Bugfix on 0.2.0.x.
|
||||||
|
|
||||||
o Minor features:
|
o Minor features:
|
||||||
- Allow separate log levels to be configured for different logging
|
- Allow separate log levels to be configured for different logging
|
||||||
|
@ -431,6 +431,8 @@ logs_free_all(void)
|
|||||||
log_free(victim);
|
log_free(victim);
|
||||||
}
|
}
|
||||||
tor_free(appname);
|
tor_free(appname);
|
||||||
|
tor_mutex_free(log_mutex);
|
||||||
|
log_mutex = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Remove and free the log entry <b>victim</b> from the linked-list
|
/** Remove and free the log entry <b>victim</b> from the linked-list
|
||||||
|
@ -314,6 +314,10 @@ tor_tls_free_all(void)
|
|||||||
tor_tls_context_decref(global_tls_context);
|
tor_tls_context_decref(global_tls_context);
|
||||||
global_tls_context = NULL;
|
global_tls_context = NULL;
|
||||||
}
|
}
|
||||||
|
if (!HT_EMPTY(&tlsmap_root)) {
|
||||||
|
log_warn(LD_MM, "Still have entries in the tlsmap at shutdown.");
|
||||||
|
}
|
||||||
|
HT_CLEAR(tlsmap, &tlsmap_root);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** We need to give OpenSSL a callback to verify certificates. This is
|
/** We need to give OpenSSL a callback to verify certificates. This is
|
||||||
|
@ -1849,13 +1849,15 @@ tor_free_all(int postfork)
|
|||||||
entry_guards_free_all();
|
entry_guards_free_all();
|
||||||
connection_free_all();
|
connection_free_all();
|
||||||
buf_shrink_freelists(1);
|
buf_shrink_freelists(1);
|
||||||
policies_free_all();
|
|
||||||
if (!postfork) {
|
if (!postfork) {
|
||||||
config_free_all();
|
config_free_all();
|
||||||
router_free_all();
|
router_free_all();
|
||||||
|
policies_free_all();
|
||||||
}
|
}
|
||||||
free_cell_pool();
|
free_cell_pool();
|
||||||
|
if (!postfork) {
|
||||||
tor_tls_free_all();
|
tor_tls_free_all();
|
||||||
|
}
|
||||||
/* stuff in main.c */
|
/* stuff in main.c */
|
||||||
smartlist_free(connection_array);
|
smartlist_free(connection_array);
|
||||||
smartlist_free(closeable_connection_lst);
|
smartlist_free(closeable_connection_lst);
|
||||||
|
@ -446,7 +446,7 @@ typedef struct policy_map_ent_t {
|
|||||||
addr_policy_t *policy;
|
addr_policy_t *policy;
|
||||||
} policy_map_ent_t;
|
} policy_map_ent_t;
|
||||||
|
|
||||||
static HT_HEAD(policy_map, policy_map_ent_t) policy_root;
|
static HT_HEAD(policy_map, policy_map_ent_t) policy_root = HT_INITIALIZER();
|
||||||
|
|
||||||
/** Return true iff a and b are equal. */
|
/** Return true iff a and b are equal. */
|
||||||
static INLINE int
|
static INLINE int
|
||||||
@ -923,5 +923,9 @@ policies_free_all(void)
|
|||||||
authdir_reject_policy = NULL;
|
authdir_reject_policy = NULL;
|
||||||
addr_policy_list_free(authdir_invalid_policy);
|
addr_policy_list_free(authdir_invalid_policy);
|
||||||
authdir_invalid_policy = NULL;
|
authdir_invalid_policy = NULL;
|
||||||
|
|
||||||
|
if (!HT_EMPTY(&policy_root))
|
||||||
|
log_warn(LD_MM, "Still had some address policies cached at shutdown.");
|
||||||
|
HT_CLEAR(policy_map, &policy_root);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user