mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
revert my changes to RtlTryEnterCriticalSection()
svn path=/trunk/; revision=13643
This commit is contained in:
parent
f66a4cec4d
commit
879f12f1f8
1 changed files with 11 additions and 11 deletions
|
@ -360,29 +360,29 @@ RtlLeaveCriticalSection(
|
|||
* None
|
||||
*
|
||||
*--*/
|
||||
BOOLEAN
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
RtlTryEnterCriticalSection(
|
||||
PRTL_CRITICAL_SECTION CriticalSection)
|
||||
{
|
||||
{
|
||||
/* Try to take control */
|
||||
if (InterlockedCompareExchange(&CriticalSection->LockCount, 0, -1) == -1) {
|
||||
if (InterlockedCompareExchange(&CriticalSection->LockCount,
|
||||
0,
|
||||
-1) == -1) {
|
||||
|
||||
/* It's ours. Changing this information does not have to be serialized
|
||||
because we just obtained the lock. */
|
||||
/* It's ours */
|
||||
CriticalSection->OwningThread = NtCurrentTeb()->Cid.UniqueThread;
|
||||
CriticalSection->RecursionCount = 1;
|
||||
return TRUE;
|
||||
|
||||
|
||||
} else if (CriticalSection->OwningThread == NtCurrentTeb()->Cid.UniqueThread) {
|
||||
|
||||
/* It's already ours, just increment the recursion counter. This doesn't
|
||||
have to be serialized because only the thread who already holds the
|
||||
lock can do this. */
|
||||
|
||||
/* It's already ours */
|
||||
InterlockedIncrement(&CriticalSection->LockCount);
|
||||
CriticalSection->RecursionCount++;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/* It's not ours */
|
||||
return FALSE;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue