|
|
@@ -14325,7 +14325,7 @@ void ReadWriteLock::exitRead() const throw() |
|
|
{ |
|
|
{ |
|
|
if (readerThreads.getUnchecked(i) == threadId) |
|
|
if (readerThreads.getUnchecked(i) == threadId) |
|
|
{ |
|
|
{ |
|
|
const int newCount = ((int) (Thread::ThreadID) readerThreads.getUnchecked (i + 1)) - 1; |
|
|
|
|
|
|
|
|
const pointer_sized_int newCount = ((pointer_sized_int) readerThreads.getUnchecked (i + 1)) - 1; |
|
|
|
|
|
|
|
|
if (newCount == 0) |
|
|
if (newCount == 0) |
|
|
{ |
|
|
{ |
|
|
@@ -14334,7 +14334,7 @@ void ReadWriteLock::exitRead() const throw() |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
|
readerThreads.set (i + 1, (Thread::ThreadID) (pointer_sized_int) newCount); |
|
|
|
|
|
|
|
|
readerThreads.set (i + 1, (Thread::ThreadID) newCount); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return; |
|
|
return; |
|
|
|