diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-06-26 14:14:56 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-06-26 14:14:56 -0400 |
commit | d72cfb259dfc83fe88c8589d4c1302a252823182 (patch) | |
tree | 393557b5e9f925c38958f22e800c742b6dd53e21 | |
parent | 8f59661dbaa25b54a9fad8a8dc5322a7778a7fc7 (diff) | |
download | tor-d72cfb259dfc83fe88c8589d4c1302a252823182.tar.gz tor-d72cfb259dfc83fe88c8589d4c1302a252823182.zip |
Patch for 22720 from huyvq: exit(1) more often
See changes file for full details.
-rw-r--r-- | changes/bug22720 | 9 | ||||
-rw-r--r-- | src/or/control.c | 2 | ||||
-rw-r--r-- | src/or/main.c | 4 |
3 files changed, 12 insertions, 3 deletions
diff --git a/changes/bug22720 b/changes/bug22720 new file mode 100644 index 0000000000..4893b577f0 --- /dev/null +++ b/changes/bug22720 @@ -0,0 +1,9 @@ + o Minor bugfixes (process behavior): + - When exiting because of an error, always exit with a nonzero + exit status. Previously, we would fail to report an error in + our exit status in cases related to lockfile contention, + __OwningControllerProcess failure, and Ed25519 key + initialization. Fixes bug 22720; bugfix on versions + 0.2.1.6-alpha, 0.2.2.28-beta, and 0.2.7.2-alpha + respectively. Reported by "f55jwk4f"; patch from "huyvq". + diff --git a/src/or/control.c b/src/or/control.c index 9454a7ab67..9bcf1ee364 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -6506,7 +6506,7 @@ monitor_owning_controller_process(const char *process_spec) msg); owning_controller_process_spec = NULL; tor_cleanup(); - exit(0); + exit(1); } } diff --git a/src/or/main.c b/src/or/main.c index 9699c8d381..cb24fd18c8 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -1556,7 +1556,7 @@ check_ed_keys_callback(time_t now, const or_options_t *options) generate_ed_link_cert(options, now, new_signing_key > 0)) { log_err(LD_OR, "Unable to update Ed25519 keys! Exiting."); tor_cleanup(); - exit(0); + exit(1); } } return 30; @@ -3168,7 +3168,7 @@ try_locking(const or_options_t *options, int err_if_locked) r = try_locking(options, 0); if (r<0) { log_err(LD_GENERAL, "No, it's still there. Exiting."); - exit(0); + exit(1); } return r; } |