Merge remote-tracking branch 'origin/maint-0.2.2'

This commit is contained in:
Nick Mathewson 2011-11-21 10:52:38 -05:00
commit 929074b368
2 changed files with 6 additions and 1 deletions

5
changes/bug3963 Normal file
View File

@ -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.

View File

@ -727,6 +727,7 @@ nt_service_parse_options(int argc, char **argv, int *should_exit)
if ((argc >= 3) && if ((argc >= 3) &&
(!strcmp(argv[1], "-service") || !strcmp(argv[1], "--service"))) { (!strcmp(argv[1], "-service") || !strcmp(argv[1], "--service"))) {
nt_service_loadlibrary(); nt_service_loadlibrary();
*should_exit = 1;
if (!strcmp(argv[2], "install")) if (!strcmp(argv[2], "install"))
return nt_service_install(argc, argv); return nt_service_install(argc, argv);
if (!strcmp(argv[2], "remove")) if (!strcmp(argv[2], "remove"))
@ -736,7 +737,6 @@ nt_service_parse_options(int argc, char **argv, int *should_exit)
if (!strcmp(argv[2], "stop")) if (!strcmp(argv[2], "stop"))
return nt_service_cmd_stop(); return nt_service_cmd_stop();
printf("Unrecognized service command '%s'\n", argv[2]); printf("Unrecognized service command '%s'\n", argv[2]);
*should_exit = 1;
return 1; return 1;
} }
if (argc >= 2) { if (argc >= 2) {