Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReleaseLock()

LockCookie System.Threading.ReaderWriterLock.ReleaseLock ( )
inline

Definition at line 692 of file ReaderWriterLock.cs.

693 {
694 LockCookie result = default(LockCookie);
695 int num = (result._threadID = GetCurrentThreadID());
696 if (_writerID == num)
697 {
698 result._flags = LockCookieFlags.Release | LockCookieFlags.OwnedWriter;
700 _writerLevel = 1;
702 return result;
703 }
704 ThreadLocalLockEntry current = ThreadLocalLockEntry.GetCurrent(_lockID);
705 if (current == null)
706 {
707 result._flags = LockCookieFlags.Release | LockCookieFlags.OwnedNone;
708 return result;
709 }
710 result._flags = LockCookieFlags.Release | LockCookieFlags.OwnedReader;
711 result._readerLevel = current._readerLevel;
714 return result;
715 }

References System.Threading.ReaderWriterLock._lockID, System.Threading.ReaderWriterLock.ThreadLocalLockEntry._readerLevel, System.Threading.ReaderWriterLock._writerID, System.Threading.ReaderWriterLock._writerLevel, System.Runtime.Serialization.Dictionary, System.Threading.ReaderWriterLock.ThreadLocalLockEntry.GetCurrent(), System.Threading.ReaderWriterLock.GetCurrentThreadID(), System.Threading.ReaderWriterLock.ReleaseReaderLock(), and System.Threading.ReaderWriterLock.ReleaseWriterLock().