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

◆ UpdateStateAtomically()

void System.Threading.ManualResetEventSlim.UpdateStateAtomically ( int newBits,
int updateBitsMask )
inlineprivateinherited

Definition at line 333 of file ManualResetEventSlim.cs.

334 {
335 SpinWait spinWait = default(SpinWait);
336 while (true)
337 {
338 int combinedState = m_combinedState;
339 int value = (combinedState & ~updateBitsMask) | newBits;
340 if (Interlocked.CompareExchange(ref m_combinedState, value, combinedState) == combinedState)
341 {
342 break;
343 }
344 spinWait.SpinOnce(-1);
345 }
346 }

References System.Threading.Interlocked.CompareExchange(), System.Threading.ManualResetEventSlim.m_combinedState, System.Threading.SpinWait.SpinOnce(), and System.value.