aboutsummaryrefslogtreecommitdiff
path: root/src/lib/err/torerr_sys.c
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2019-09-04 15:40:57 +1000
committerteor <teor@torproject.org>2019-09-06 16:58:53 +1000
commit612b0a41399d0ddf260f4f6dd989fcc97d069fbd (patch)
tree7448d370ed758874c323736d39e5e6d6eb601b98 /src/lib/err/torerr_sys.c
parent896a1ac50b6ab182c1e15cc5271d0b24fcb90a31 (diff)
downloadtor-612b0a41399d0ddf260f4f6dd989fcc97d069fbd.tar.gz
tor-612b0a41399d0ddf260f4f6dd989fcc97d069fbd.zip
subsys: Make the subsystem init order match the module dependencies
Fix levels for subsystems that depend on log/err * winprocess (security) doesn't use err: * call windows process security APIs as early as possible * init err after winprocess * move wallclock so it's still after err * network and time depend on log: * make sure that network and time can use logging. * init network and time after log Add comments explaining the module init order. Fixes bug 31615; bugfix on 0.4.0.1-alpha.
Diffstat (limited to 'src/lib/err/torerr_sys.c')
-rw-r--r--src/lib/err/torerr_sys.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/err/torerr_sys.c b/src/lib/err/torerr_sys.c
index 3ab1b3c4e1..34f70f1f0b 100644
--- a/src/lib/err/torerr_sys.c
+++ b/src/lib/err/torerr_sys.c
@@ -33,7 +33,10 @@ subsys_torerr_shutdown(void)
const subsys_fns_t sys_torerr = {
.name = "err",
- .level = -100,
+ /* Low-level error handling is a diagnostic feature, we want it to init
+ * right after windows process security, and shutdown last.
+ * (Security never shuts down.) */
+ .level = -99,
.supported = true,
.initialize = subsys_torerr_initialize,
.shutdown = subsys_torerr_shutdown