+ExAcquireSharedWaitForExclusive()
[reactos.git] / ntoskrnl / ex / resource.c
index afd58bc..347e888 100644 (file)
@@ -395,8 +395,6 @@ ExAcquireResourceSharedLite (
    return(TRUE);
 }
 
-#ifndef LIBCAPTIVE
-
 VOID
 STDCALL
 ExConvertExclusiveToSharedLite (
@@ -441,12 +439,19 @@ ExConvertExclusiveToSharedLite (
        KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
        return;
      }
+#ifndef LIBCAPTIVE
    /* else, awake the waiters */
    KeReleaseSemaphore(Resource->SharedWaiters,0,oldWaiters,0);
    KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
    DPRINT("ExConvertExclusiveToSharedLite() finished\n");
+#else /* !LIBCAPTIVE */
+   /* no waiters allower for libcaptive */
+   KeBugCheck(0);
+#endif /* LIBCAPTIVE */
 }
 
+#ifndef LIBCAPTIVE
+
 VOID
 STDCALL
 ExDisableResourceBoostLite (
@@ -456,6 +461,8 @@ ExDisableResourceBoostLite (
    Resource->Flag |= ResourceDisableBoost;
 }
 
+#endif /* LIBCAPTIVE */
+
 ULONG
 STDCALL
 ExGetExclusiveWaiterCount (
@@ -465,7 +472,6 @@ ExGetExclusiveWaiterCount (
   return(Resource->NumberOfExclusiveWaiters);
 }
 
-#endif /* LIBCAPTIVE */
 
 BOOLEAN
 STDCALL
@@ -539,7 +545,6 @@ ExAcquireSharedStarveExclusive (
    return(TRUE);
 }
 
-#ifndef LIBCAPTIVE
 
 BOOLEAN
 STDCALL
@@ -551,6 +556,8 @@ ExAcquireSharedWaitForExclusive (
   return(ExAcquireResourceSharedLite(Resource,Wait));
 }
 
+#ifndef LIBCAPTIVE
+
 NTSTATUS
 STDCALL
 ExDeleteResource (
@@ -560,6 +567,8 @@ ExDeleteResource (
    return(ExDeleteResourceLite(Resource));
 }
 
+#endif /* LIBCAPTIVE */
+
 NTSTATUS
 STDCALL
 ExDeleteResourceLite (
@@ -573,6 +582,7 @@ ExDeleteResourceLite (
    return(STATUS_SUCCESS);;
 }
 
+
 ULONG
 STDCALL
 ExGetSharedWaiterCount (
@@ -582,6 +592,8 @@ ExGetSharedWaiterCount (
    return(Resource->NumberOfSharedWaiters);
 }
 
+#ifndef LIBCAPTIVE
+
 NTSTATUS
 STDCALL
 ExInitializeResource (
@@ -614,8 +626,6 @@ ExInitializeResourceLite (PERESOURCE        Resource)
    return(0);
 }
 
-#ifndef LIBCAPTIVE
-
 BOOLEAN
 STDCALL
 ExIsResourceAcquiredExclusiveLite (
@@ -671,6 +681,7 @@ ExIsResourceAcquiredSharedLite (
    return(0);
 }
 
+
 VOID
 STDCALL
 ExReinitializeResourceLite (
@@ -695,7 +706,6 @@ ExReinitializeResourceLite (
    Resource->OwnerThreads[1].a.OwnerCount=0;
 }
 
-#endif /* LIBCAPTIVE */
 
 VOID
 FASTCALL