diff --git a/uppsrc/Core/Ptr.cpp b/uppsrc/Core/Ptr.cpp index d50d35125..d4f804f2b 100644 --- a/uppsrc/Core/Ptr.cpp +++ b/uppsrc/Core/Ptr.cpp @@ -27,13 +27,10 @@ static StaticCriticalSection sPteLock; PteBase::Prec *PteBase::PtrAdd() { - sPteLock.Enter(); - if(prec) { + CriticalSection::Lock __(sPteLock); + if(prec) ++prec->n; - sPteLock.Leave(); - } else { - sPteLock.Leave(); prec = new Prec; prec->n = 1; prec->ptr = this;