From: Amine Khaldi Date: Thu, 3 Mar 2016 14:29:43 +0000 (+0000) Subject: [MSIEXEC] Sync with Wine Staging 1.9.4. CORE-10912 X-Git-Tag: ReactOS-0.4.1~322 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=ae74d4fba9b60bdfba0b89be1f3943311a33ee3f [MSIEXEC] Sync with Wine Staging 1.9.4. CORE-10912 svn path=/trunk/; revision=70893 --- diff --git a/reactos/base/system/msiexec/service.c b/reactos/base/system/msiexec/service.c index 1ffead6069a..3c8b690bf76 100644 --- a/reactos/base/system/msiexec/service.c +++ b/reactos/base/system/msiexec/service.c @@ -39,7 +39,9 @@ static BOOL UpdateSCMStatus(DWORD dwCurrentState, DWORD dwWin32ExitCode, status.dwServiceType = SERVICE_WIN32_OWN_PROCESS; status.dwCurrentState = dwCurrentState; - if (dwCurrentState == SERVICE_START_PENDING) + if (dwCurrentState == SERVICE_START_PENDING + || dwCurrentState == SERVICE_STOP_PENDING + || dwCurrentState == SERVICE_STOPPED) status.dwControlsAccepted = 0; else { @@ -73,8 +75,6 @@ static BOOL UpdateSCMStatus(DWORD dwCurrentState, DWORD dwWin32ExitCode, static void WINAPI ServiceCtrlHandler(DWORD code) { - DWORD state = SERVICE_RUNNING; - WINE_TRACE("%u\n", code); switch (code) @@ -83,14 +83,12 @@ static void WINAPI ServiceCtrlHandler(DWORD code) case SERVICE_CONTROL_STOP: UpdateSCMStatus(SERVICE_STOP_PENDING, NO_ERROR, 0); KillService(); - state = SERVICE_STOPPED; break; default: fprintf(stderr, "Unhandled service control code: %u\n", code); + UpdateSCMStatus(SERVICE_RUNNING, NO_ERROR, 0); break; } - - UpdateSCMStatus(state, NO_ERROR, 0); } static DWORD WINAPI ServiceExecutionThread(LPVOID param) @@ -142,10 +140,7 @@ static void WINAPI ServiceMain(DWORD argc, LPSTR *argv) } UpdateSCMStatus(SERVICE_RUNNING, NO_ERROR, 0); - - WaitForSingleObject(kill_event, INFINITE); - KillService(); - + WaitForSingleObject(thread, INFINITE); UpdateSCMStatus(SERVICE_STOPPED, NO_ERROR, 0); } diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index 9488c04d26b..855df8f2be3 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -243,7 +243,7 @@ reactos/base/applications/winhlp32 # Synced to WineStaging-1.9.4 reactos/base/applications/wordpad # Synced to WineStaging-1.7.55 reactos/base/services/rpcss # Synced to WineStaging-1.7.55 reactos/base/system/expand # Synced to WineStaging-1.7.55 -reactos/base/system/msiexec # Synced to WineStaging-1.7.55 +reactos/base/system/msiexec # Synced to WineStaging-1.9.4 reactos/modules/rosapps/winfile # Autosync In addition the following libs, dlls and source files are mostly based on code ported