summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-11-21 10:52:15 -0500
committerNick Mathewson <nickm@torproject.org>2011-11-21 10:52:15 -0500
commitb3c988f0d7e18c243074e3e583c10b204521088f (patch)
treee1051470823bf70ca62a570c3977cb7eecc91172
parentfbcd7c01e78c71df479c540c85a7ea94dc02a0a4 (diff)
parent45eadf39551bc1d3d00e677c8b7fd977a17aad01 (diff)
downloadtor-b3c988f0d7e18c243074e3e583c10b204521088f.tar.gz
tor-b3c988f0d7e18c243074e3e583c10b204521088f.zip
Merge remote-tracking branch 'public/bug3963' into maint-0.2.2
-rw-r--r--changes/bug39635
-rw-r--r--src/or/ntmain.c2
2 files changed, 6 insertions, 1 deletions
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) {