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

◆ Dispose()

void System.Threading.DeferredDisposableLifetime< T >.Dispose ( T obj)
inline

Definition at line 57 of file DeferredDisposableLifetime.cs.

58 {
59 int num;
60 int num2;
61 do
62 {
63 num = Volatile.Read(ref _count);
64 if (num < 0)
65 {
66 return;
67 }
68 num2 = -1 - num;
69 }
70 while (Interlocked.CompareExchange(ref _count, num2, num) != num);
71 if (num2 == -1)
72 {
73 obj.OnFinalRelease(disposed: true);
74 }
75 }

References System.Threading.DeferredDisposableLifetime< T >._count, System.Threading.Interlocked.CompareExchange(), System.obj, and System.Threading.Volatile.Read().