Fix a race condition between umpnpmgr service and CMP_WaitNoPendingInstallEvents...
authorHervé Poussineau <hpoussin@reactos.org>
Sat, 6 Dec 2008 12:54:24 +0000 (12:54 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Sat, 6 Dec 2008 12:54:24 +0000 (12:54 +0000)
svn path=/trunk/; revision=37894

reactos/base/services/umpnpmgr/umpnpmgr.c

index cb6daf4..39c9e14 100644 (file)
@@ -2221,11 +2221,6 @@ ServiceMain(DWORD argc, LPTSTR *argv)
 
     DPRINT("ServiceMain() called\n");
 
-    hNoPendingInstalls = CreateEventW(NULL,
-                                      TRUE,
-                                      FALSE,
-                                      L"Global\\PnP_No_Pending_Install_Events");
-
     hThread = CreateThread(NULL,
                            0,
                            PnpEventThread,
@@ -2283,6 +2278,17 @@ wmain(int argc, WCHAR *argv[])
         return dwError;
     }
 
+    hNoPendingInstalls = CreateEventW(NULL,
+                                      TRUE,
+                                      FALSE,
+                                      L"Global\\PnP_No_Pending_Install_Events");
+    if (hNoPendingInstalls == NULL)
+    {
+        dwError = GetLastError();
+        DPRINT1("Could not create the Event! (Error %lu)\n", dwError);
+        return dwError;
+    }
+
 #ifdef HAVE_SLIST_ENTRY_IMPLEMENTED
     InitializeSListHead(&DeviceInstallListHead);
 #else