fix service removal.
[tinc] / src / tincctl.c
index cd2d3d8..1ef7941 100644 (file)
@@ -747,7 +747,10 @@ static bool remove_service(void) {
                fprintf(stderr, "Could not remove %s service: %s\n", identname, winerror(GetLastError()));
                return false;
        }
-
+    if(service)
+        CloseServiceHandle(service);
+    if(manager)
+        CloseServiceHandle(manager);
        fprintf(stderr, "%s service removed\n", identname);
 
        return true;
@@ -1013,7 +1016,7 @@ static int cmd_start(int argc, char *argv[]) {
 #endif
 
        // Pass all log messages from the umbilical to stderr.
-       // A nul-byte right before closure means tincd started succesfully.
+       // A nul-byte right before closure means tincd started successfully.
        bool failure = true;
        char buf[1024];
        ssize_t len;
@@ -1859,7 +1862,7 @@ static int cmd_config(int argc, char *argv[]) {
                        }
                }
 
-               /* Change "add" into "set" for variables that do not allow multiple occurences.
+               /* Change "add" into "set" for variables that do not allow multiple occurrences.
                   Turn on warnings when it seems variables might be removed unintentionally. */
 
                if(action == 1 && !(variables[i].type & VAR_MULTIPLE)) {