[MSIEXEC] Sync with Wine Staging 1.9.4. CORE-10912

svn path=/trunk/; revision=70893
This commit is contained in:
Amine Khaldi 2016-03-03 14:29:43 +00:00
parent 1c0b7826ac
commit ae74d4fba9
2 changed files with 6 additions and 11 deletions

View file

@ -39,7 +39,9 @@ static BOOL UpdateSCMStatus(DWORD dwCurrentState, DWORD dwWin32ExitCode,
status.dwServiceType = SERVICE_WIN32_OWN_PROCESS; status.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
status.dwCurrentState = dwCurrentState; status.dwCurrentState = dwCurrentState;
if (dwCurrentState == SERVICE_START_PENDING) if (dwCurrentState == SERVICE_START_PENDING
|| dwCurrentState == SERVICE_STOP_PENDING
|| dwCurrentState == SERVICE_STOPPED)
status.dwControlsAccepted = 0; status.dwControlsAccepted = 0;
else else
{ {
@ -73,8 +75,6 @@ static BOOL UpdateSCMStatus(DWORD dwCurrentState, DWORD dwWin32ExitCode,
static void WINAPI ServiceCtrlHandler(DWORD code) static void WINAPI ServiceCtrlHandler(DWORD code)
{ {
DWORD state = SERVICE_RUNNING;
WINE_TRACE("%u\n", code); WINE_TRACE("%u\n", code);
switch (code) switch (code)
@ -83,14 +83,12 @@ static void WINAPI ServiceCtrlHandler(DWORD code)
case SERVICE_CONTROL_STOP: case SERVICE_CONTROL_STOP:
UpdateSCMStatus(SERVICE_STOP_PENDING, NO_ERROR, 0); UpdateSCMStatus(SERVICE_STOP_PENDING, NO_ERROR, 0);
KillService(); KillService();
state = SERVICE_STOPPED;
break; break;
default: default:
fprintf(stderr, "Unhandled service control code: %u\n", code); fprintf(stderr, "Unhandled service control code: %u\n", code);
UpdateSCMStatus(SERVICE_RUNNING, NO_ERROR, 0);
break; break;
} }
UpdateSCMStatus(state, NO_ERROR, 0);
} }
static DWORD WINAPI ServiceExecutionThread(LPVOID param) static DWORD WINAPI ServiceExecutionThread(LPVOID param)
@ -142,10 +140,7 @@ static void WINAPI ServiceMain(DWORD argc, LPSTR *argv)
} }
UpdateSCMStatus(SERVICE_RUNNING, NO_ERROR, 0); UpdateSCMStatus(SERVICE_RUNNING, NO_ERROR, 0);
WaitForSingleObject(thread, INFINITE);
WaitForSingleObject(kill_event, INFINITE);
KillService();
UpdateSCMStatus(SERVICE_STOPPED, NO_ERROR, 0); UpdateSCMStatus(SERVICE_STOPPED, NO_ERROR, 0);
} }

View file

@ -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/applications/wordpad # Synced to WineStaging-1.7.55
reactos/base/services/rpcss # 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/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 reactos/modules/rosapps/winfile # Autosync
In addition the following libs, dlls and source files are mostly based on code ported In addition the following libs, dlls and source files are mostly based on code ported