From 1c2abea30a36c2b9e0e7e220542d17210bdd0b5e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 5 Dec 2018 10:31:43 -0500 Subject: [PATCH] Call run_tor_main_loop() in ntmain.c, rather than do_main_loop(). Fixes bug 28612; bugfix on 0.3.5.3-alpha. --- changes/bug28612 | 4 ++++ src/app/main/main.c | 2 +- src/app/main/main.h | 2 ++ src/app/main/ntmain.c | 4 ++-- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 changes/bug28612 diff --git a/changes/bug28612 b/changes/bug28612 new file mode 100644 index 0000000000..559f254234 --- /dev/null +++ b/changes/bug28612 @@ -0,0 +1,4 @@ + o Minor bugfixes (windows services): + - Make Tor start correctly as an NT service again: previously it + was broken by refactoring. Fixes bug 28612; bugfix on 0.3.5.3-alpha. + diff --git a/src/app/main/main.c b/src/app/main/main.c index ae87add67d..a2b7c08456 100644 --- a/src/app/main/main.c +++ b/src/app/main/main.c @@ -1269,7 +1269,7 @@ sandbox_init_filter(void) return cfg; } -static int +int run_tor_main_loop(void) { handle_signals(); diff --git a/src/app/main/main.h b/src/app/main/main.h index b64f2ef417..23a436703e 100644 --- a/src/app/main/main.h +++ b/src/app/main/main.h @@ -26,4 +26,6 @@ void tor_free_all(int postfork); int tor_init(int argc, char **argv); +int run_tor_main_loop(void); + #endif /* !defined(TOR_MAIN_H) */ diff --git a/src/app/main/ntmain.c b/src/app/main/ntmain.c index 800720a0b4..8d2135a587 100644 --- a/src/app/main/ntmain.c +++ b/src/app/main/ntmain.c @@ -298,7 +298,7 @@ nt_service_body(int argc, char **argv) service_status.dwCurrentState = SERVICE_RUNNING; service_fns.SetServiceStatus_fn(hStatus, &service_status); set_main_thread(); - do_main_loop(); + run_tor_main_loop(); tor_cleanup(); } @@ -326,7 +326,7 @@ nt_service_main(void) return; switch (get_options()->command) { case CMD_RUN_TOR: - do_main_loop(); + run_tor_main_loop(); break; case CMD_LIST_FINGERPRINT: case CMD_HASH_PASSWORD: