diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c index 82701e4579009cb4c7be546a990bb4075ac7592b..ce41fd7e2ed8559b584b443a675350aea10f03c0 100644 --- a/dlls/advapi32/service.c +++ b/dlls/advapi32/service.c @@ -89,11 +89,10 @@ StartServiceCtrlDispatcherA( LPSERVICE_TABLE_ENTRYA servent ) int i; TRACE("(%p)\n", servent); - wait = OpenSemaphoreW(SEMAPHORE_ALL_ACCESS, FALSE, _ServiceStartDataW); - if(wait == 0) + wait = CreateSemaphoreW(NULL,1,1,_ServiceStartDataW); + if (!wait) { - ERR("Couldn't find wait semaphore\n"); - ERR("perhaps you need to start services using StartService\n"); + ERR("Couldn't create data semaphore\n"); return FALSE; }