aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Shepard <andrea@torproject.org>2014-04-15 20:35:31 -0700
committerAndrea Shepard <andrea@torproject.org>2014-04-15 20:35:31 -0700
commitf36e93206a20b37321b372802032d3dec481856d (patch)
tree7624dfcf577bcb2465c46f35928473c5db4429b1
parenta5544e589d1724fc2765b277da736bbb2a9a8299 (diff)
downloadtor-f36e93206a20b37321b372802032d3dec481856d.tar
tor-f36e93206a20b37321b372802032d3dec481856d.tar.gz
Avoid redundant calls to connection_mark_for_close() on listeners when setting DisableNetwork to 1
-rw-r--r--src/or/config.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/or/config.c b/src/or/config.c
index ca99d014f..3089c6f51 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -1178,10 +1178,13 @@ options_act_reversible(const or_options_t *old_options, char **msg)
SMARTLIST_FOREACH(replaced_listeners, connection_t *, conn,
{
+ int marked = conn->marked_for_close;
log_notice(LD_NET, "Closing old %s on %s:%d",
conn_type_to_string(conn->type), conn->address, conn->port);
connection_close_immediate(conn);
- connection_mark_for_close(conn);
+ if (!marked) {
+ connection_mark_for_close(conn);
+ }
});
goto done;