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

◆ GetOrCreateCurrentSlow()

static ThreadLocalLockEntry System.Threading.ReaderWriterLock.ThreadLocalLockEntry.GetOrCreateCurrentSlow ( long lockID,
ThreadLocalLockEntry headEntry )
inlinestaticprivate

Definition at line 77 of file ReaderWriterLock.cs.

78 {
82 if (headEntry != null)
83 {
84 if (headEntry.IsFree)
85 {
87 }
89 for (ThreadLocalLockEntry next = headEntry._next; next != null; next = next._next)
90 {
91 if (next._lockID == lockID)
92 {
93 threadLocalLockEntry4._next = next._next;
95 break;
96 }
97 if (threadLocalLockEntry3 == null && next.IsFree)
98 {
101 }
103 }
104 }
105 if (threadLocalLockEntry == null)
106 {
107 if (threadLocalLockEntry3 != null)
108 {
110 if (threadLocalLockEntry2 == null)
111 {
113 }
116 }
117 else
118 {
120 }
121 }
125 }

References System.Threading.ReaderWriterLock.ThreadLocalLockEntry.ThreadLocalLockEntry(), System.Threading.ReaderWriterLock.ThreadLocalLockEntry._next, System.Runtime.Serialization.Dictionary, and System.Threading.ReaderWriterLock.ThreadLocalLockEntry.t_lockEntryHead.

Referenced by System.Threading.ReaderWriterLock.ThreadLocalLockEntry.GetOrCreateCurrent().