wineboot: Make services.exe inherit the wineboot event to keep it alive.
This commit is contained in:
parent
9bc84d81df
commit
d478cc42d8
|
@ -557,7 +557,7 @@ static BOOL start_services_process(void)
|
||||||
strcatW(path, services);
|
strcatW(path, services);
|
||||||
ZeroMemory(&si, sizeof(si));
|
ZeroMemory(&si, sizeof(si));
|
||||||
si.cb = sizeof(si);
|
si.cb = sizeof(si);
|
||||||
if (!CreateProcessW(path, path, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
|
if (!CreateProcessW(path, path, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi))
|
||||||
{
|
{
|
||||||
WINE_ERR("Couldn't start services.exe: error %u\n", GetLastError());
|
WINE_ERR("Couldn't start services.exe: error %u\n", GetLastError());
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -749,6 +749,7 @@ int main( int argc, char *argv[] )
|
||||||
int optc;
|
int optc;
|
||||||
int end_session = 0, force = 0, init = 0, kill = 0, restart = 0, shutdown = 0;
|
int end_session = 0, force = 0, init = 0, kill = 0, restart = 0, shutdown = 0;
|
||||||
HANDLE event;
|
HANDLE event;
|
||||||
|
SECURITY_ATTRIBUTES sa;
|
||||||
|
|
||||||
GetWindowsDirectoryW( windowsdir, MAX_PATH );
|
GetWindowsDirectoryW( windowsdir, MAX_PATH );
|
||||||
if( !SetCurrentDirectoryW( windowsdir ) )
|
if( !SetCurrentDirectoryW( windowsdir ) )
|
||||||
|
@ -781,7 +782,11 @@ int main( int argc, char *argv[] )
|
||||||
|
|
||||||
if (shutdown) return 0;
|
if (shutdown) return 0;
|
||||||
|
|
||||||
event = CreateEventW( NULL, TRUE, FALSE, wineboot_eventW );
|
sa.nLength = sizeof(sa);
|
||||||
|
sa.lpSecurityDescriptor = NULL;
|
||||||
|
sa.bInheritHandle = TRUE; /* so that services.exe inherits it */
|
||||||
|
event = CreateEventW( &sa, TRUE, FALSE, wineboot_eventW );
|
||||||
|
|
||||||
ResetEvent( event ); /* in case this is a restart */
|
ResetEvent( event ); /* in case this is a restart */
|
||||||
|
|
||||||
wininit();
|
wininit();
|
||||||
|
|
Loading…
Reference in New Issue