summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug9194
-rw-r--r--src/or/config.c10
2 files changed, 10 insertions, 4 deletions
diff --git a/changes/bug919 b/changes/bug919
new file mode 100644
index 0000000000..728b821a95
--- /dev/null
+++ b/changes/bug919
@@ -0,0 +1,4 @@
+ o Minor bugfixes:
+ - Fix a regression that caused Tor to rebind its ports if it receives
+ SIGHUP while hibernating. Bugfix in 0.1.1.6-alpha, closes bug 919.
+
diff --git a/src/or/config.c b/src/or/config.c
index 20ae9f072f..46066b1862 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -950,10 +950,12 @@ options_act_reversible(or_options_t *old_options, char **msg)
}
/* Launch the listeners. (We do this before we setuid, so we can bind to
- * ports under 1024.) */
- if (retry_all_listeners(replaced_listeners, new_listeners) < 0) {
- *msg = tor_strdup("Failed to bind one of the listener ports.");
- goto rollback;
+ * ports under 1024.) We don't want to rebind if we're hibernating. */
+ if (!we_are_hibernating()) {
+ if (retry_all_listeners(replaced_listeners, new_listeners) < 0) {
+ *msg = tor_strdup("Failed to bind one of the listener ports.");
+ goto rollback;
+ }
}
}