Let StartServiceCtrlDispatcher handle services started other than with StartService (with patch)

Aric Stewart aric at codeweavers.com
Tue Aug 17 12:05:07 CDT 2004


Not all services are started with a StartService call, iPodService, for 
example, is started via OLE.

this time with the patch.
-------------- next part --------------
Index: dlls/advapi32/service.c
===================================================================
RCS file: /home/wine/wine/dlls/advapi32/service.c,v
retrieving revision 1.45
diff -u -w -r1.45 service.c
--- dlls/advapi32/service.c	23 Apr 2004 21:32:34 -0000	1.45
+++ dlls/advapi32/service.c	17 Aug 2004 16:56:53 -0000
@@ -92,9 +92,12 @@
     wait = OpenSemaphoreW(SEMAPHORE_ALL_ACCESS, FALSE, _ServiceStartDataW);
     if(wait == 0)
     {
-        ERR("Couldn't find wait semaphore\n");
-        ERR("perhaps you need to start services using StartService\n");
+        wait = CreateSemaphoreW(NULL,1,1,_ServiceStartDataW);
+        if (!wait)
+        {
+            ERR("Couldn't create data semaphore\n");
         return FALSE;
+        }
     }
 
     dwNumServiceArgs = start_dwNumServiceArgs;


More information about the wine-patches mailing list