Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 179 of file resource.c.
{ RtlEnterCriticalSection(&Resource->Lock); if (Resource->NumberActive == -1) { Resource->OwningThread = NULL; if (Resource->SharedWaiters > 0) { ULONG n; /* prevent new writers from joining until * all queued readers have done their thing */ n = Resource->SharedWaiters; Resource->NumberActive = Resource->SharedWaiters + 1; Resource->SharedWaiters = 0; NtReleaseSemaphore(Resource->SharedSemaphore, n, NULL); } else { Resource->NumberActive = 1; } } RtlLeaveCriticalSection(&Resource->Lock); }