[0.4.10] [WLNOTIFY] Disable the Logoff-Handler routine for the scheduler service.
authorEric Kohl <eric.kohl@reactos.org>
Wed, 19 Sep 2018 14:35:12 +0000 (16:35 +0200)
committerJoachim Henze <Joachim.Henze@reactos.org>
Wed, 19 Sep 2018 20:37:00 +0000 (22:37 +0200)
The Logoff-Handler might try to notify the scheduler service which might already
have been shut down. We need to fix the shutdown sequence,
so that the service manager stops all running services.

Might fix CORE-14521 according to patches author ekohl.

I tested myself, it properly works around regression CORE-14999 aka
"Long time to shutdown after installing .NET Framework"

cherry picked from commit 0.4.11-dev-189-g
5e2fe08918fc5a3c52d586a8dc8b8df851473c20

dll/win32/wlnotify/schedsvc.c

index edf89e2..ffca335 100644 (file)
@@ -17,9 +17,11 @@ WINAPI
 SchedEventLogoff(
     PWLX_NOTIFICATION_INFO pInfo)
 {
+#if 0
     SC_HANDLE hManager = NULL;
     SC_HANDLE hService = NULL;
     SERVICE_STATUS ServiceStatus;
+#endif
 
     TRACE("SchedEventLogoff\n");
     TRACE("Size: %lu\n", pInfo->Size);
@@ -31,6 +33,7 @@ SchedEventLogoff(
     TRACE("hDesktop: %p\n", pInfo->hDesktop);
     TRACE("pStatusCallback: %p\n", pInfo->pStatusCallback);
 
+#if 0
     hManager = OpenSCManagerW(NULL, NULL, SC_MANAGER_CONNECT);
     if (hManager == NULL)
     {
@@ -56,6 +59,7 @@ done:
 
     if (hManager != NULL)
         CloseServiceHandle(hManager);
+#endif
 }