]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/win32service.cpp
Merge pull request #437 from SaberUK/insp20+doxygen-update
[user/henk/code/inspircd.git] / win / win32service.cpp
index 81f8e7516e6f6becb85df2f1451900ba44bf8291..0a4b0c5b4d51a931eac8d6fd461f12ad71e0ffd8 100644 (file)
@@ -55,7 +55,9 @@ SETSERVDESC ChangeServiceConf;
 LPCSTR RetrieveLastError()
 {
        static char err[100];
-       FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, 0, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)err, sizeof(err), 0);
+       DWORD LastError = GetLastError();
+       if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS, 0, LastError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)err, sizeof(err), 0) == 0)
+               snprintf(err, sizeof(err), "Error code: %d", LastError);
        SetLastError(ERROR_SUCCESS);
        return err;
 }
@@ -111,8 +113,9 @@ void SetServiceRunning()
 /** Starts the worker thread above */
 void StartServiceThread()
 {
-       DWORD dwd;
-       CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)WorkerThread,NULL,0,&dwd);
+       HANDLE hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)WorkerThread,NULL,0,NULL);
+       if (hThread != NULL)
+               CloseHandle(hThread);
 }
 
 /** This function updates the status of the service in the SCM