diff options
author | Nick Mathewson <nickm@torproject.org> | 2014-02-25 16:09:15 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2014-02-25 16:09:15 -0500 |
commit | bf1678603ffa66ed47c038faf309984839a98363 (patch) | |
tree | 95d9af3006d4ecf5c0dc24b524d4b8defa1ffe0c | |
parent | 2f5d7bb7e9e7ce44cb90acdc7e84d0aa77e9322b (diff) | |
parent | f96400d9df4cdf22db0c473be21024b60673b786 (diff) | |
download | tor-bf1678603ffa66ed47c038faf309984839a98363.tar.gz tor-bf1678603ffa66ed47c038faf309984839a98363.zip |
Merge remote-tracking branch 'public/bug10449'
-rw-r--r-- | changes/bug10449 | 8 | ||||
-rw-r--r-- | src/or/control.c | 17 |
2 files changed, 12 insertions, 13 deletions
diff --git a/changes/bug10449 b/changes/bug10449 new file mode 100644 index 0000000000..93811f07bb --- /dev/null +++ b/changes/bug10449 @@ -0,0 +1,8 @@ + o Minor bugfixes: + - Exit immediately when exiting because of dropped connection from + a process-owning controller. Previously, if we were running in + server mode, we would wait for a little while as in the when we + got an INT signal--but this was problematic, since there was no + feedback for the user. Controllers that want to do a clean + shutdown should send an INT signal, and let the user know what's + going on. Fix for bug 10449; bugfix on 0.2.2.28-beta.
\ No newline at end of file diff --git a/src/or/control.c b/src/or/control.c index 42db3613d4..05ff9a6592 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -3181,22 +3181,13 @@ connection_control_reached_eof(control_connection_t *conn) static void lost_owning_controller(const char *owner_type, const char *loss_manner) { - int shutdown_slowly = server_mode(get_options()); - - log_notice(LD_CONTROL, "Owning controller %s has %s -- %s.", - owner_type, loss_manner, - shutdown_slowly ? "shutting down" : "exiting now"); + log_notice(LD_CONTROL, "Owning controller %s has %s -- exiting now.", + owner_type, loss_manner); /* XXXX Perhaps this chunk of code should be a separate function, * called here and by process_signal(SIGINT). */ - - if (!shutdown_slowly) { - tor_cleanup(); - exit(0); - } - /* XXXX This will close all listening sockets except control-port - * listeners. Perhaps we should close those too. */ - hibernate_begin_shutdown(); + tor_cleanup(); + exit(0); } /** Called when <b>conn</b> is being freed. */ |