diff options
Diffstat (limited to 'src/app/main/ntmain.c')
-rw-r--r-- | src/app/main/ntmain.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/app/main/ntmain.c b/src/app/main/ntmain.c index f00b712702..c5a8122030 100644 --- a/src/app/main/ntmain.c +++ b/src/app/main/ntmain.c @@ -283,7 +283,9 @@ nt_service_body(int argc, char **argv) return; } + pubsub_install(); r = tor_init(backup_argc, backup_argv); + if (r) { /* Failed to start the Tor service */ r = NT_SERVICE_ERROR_TORINIT_FAILED; @@ -294,6 +296,8 @@ nt_service_body(int argc, char **argv) return; } + pubsub_connect(); + /* Set the service's status to SERVICE_RUNNING and start the main * event loop */ service_status.dwCurrentState = SERVICE_RUNNING; @@ -322,9 +326,12 @@ nt_service_main(void) errmsg = format_win32_error(result); printf("Service error %d : %s\n", (int) result, errmsg); tor_free(errmsg); + + pubsub_install(); if (result == ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) { if (tor_init(backup_argc, backup_argv)) return; + pubsub_connect(); switch (get_options()->command) { case CMD_RUN_TOR: run_tor_main_loop(); |