aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug227209
-rw-r--r--src/or/control.c2
-rw-r--r--src/or/main.c4
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 b9717250bb..232f7b9c2c 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -6526,7 +6526,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 9709aebeb1..5fa3869ff8 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;
}