From: Nick Mathewson Date: Fri, 9 Sep 2011 01:54:12 +0000 (-0400) Subject: All NT service configuration commands should make the process exit. X-Git-Tag: tor-0.2.3.8-alpha~12^2^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=45eadf39551bc1d3d00e677c8b7fd977a17aad01;p=thirdparty%2Ftor.git All NT service configuration commands should make the process exit. Fixes bug 3963; fix on 0.2.0.7-alpha. --- diff --git a/changes/bug3963 b/changes/bug3963 new file mode 100644 index 0000000000..2fc44a095c --- /dev/null +++ b/changes/bug3963 @@ -0,0 +1,5 @@ + o Minor bugfixes: + - When configuring, starting, or stopping an NT service, stop + immediately after the service configuration attempt has succeeded + or failed. Fixes bug3963; bugfix on 0.2.0.7-alpha. + diff --git a/src/or/ntmain.c b/src/or/ntmain.c index b2fee648cc..985fab73ca 100644 --- a/src/or/ntmain.c +++ b/src/or/ntmain.c @@ -728,6 +728,7 @@ nt_service_parse_options(int argc, char **argv, int *should_exit) if ((argc >= 3) && (!strcmp(argv[1], "-service") || !strcmp(argv[1], "--service"))) { nt_service_loadlibrary(); + *should_exit = 1; if (!strcmp(argv[2], "install")) return nt_service_install(argc, argv); if (!strcmp(argv[2], "remove")) @@ -737,7 +738,6 @@ nt_service_parse_options(int argc, char **argv, int *should_exit) if (!strcmp(argv[2], "stop")) return nt_service_cmd_stop(); printf("Unrecognized service command '%s'\n", argv[2]); - *should_exit = 1; return 1; } if (argc >= 2) {