terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches

◆ Wait()

void System.Threading.RegisteredWaitHandle.Wait ( object state)
inlinepackage

Definition at line 21 of file RegisteredWaitHandle.cs.

22 {
23 SafeWaitHandle safeWaitHandle = this._waitObject.SafeWaitHandle;
24 WaitHandle waitObject = this._waitObject;
25 if (waitObject != null && waitObject == null)
26 {
28 }
29 ManualResetEvent cancelEvent = this._cancelEvent;
30 if (cancelEvent != null && cancelEvent == null)
31 {
33 }
34 TimeSpan timeout = this._timeout;
35 if (!this._unregistered)
36 {
38 long num = 0L;
40 if (callsInProcess != 0)
41 {
42 Monitor.Exit(this);
43 }
44 if (num != 0L)
45 {
46 throw new OutOfMemoryException();
47 }
48 if (!this._unregistered)
49 {
51 while (!executeOnlyOnce)
52 {
53 }
54 return;
55 }
56 }
58 int num2 = 1;
59 this._unregistered = num2 != 0;
60 if (callsInProcess2 != 0)
61 {
62 return;
63 }
64 WaitHandle finalEvent = this._finalEvent;
65 while (finalEvent == null)
66 {
67 }
68 bool flag = NativeEventCalls.SetEvent(finalEvent.SafeWaitHandle);
69 long num3 = 0L;
70 if (callsInProcess2 != 0)
71 {
72 Monitor.Exit(this);
73 }
74 if (num3 != 0L)
75 {
76 throw new OutOfMemoryException();
77 }
78 long num4 = 0L;
79 if (callsInProcess2 != 0)
80 {
82 }
83 if (num4 == 0L)
84 {
85 return;
86 }
87 throw new OutOfMemoryException();
88 }
class f__AnonymousType0<< Count > j__TPar
SafeWaitHandle SafeWaitHandle
Definition WaitHandle.cs:80

References System.Threading.RegisteredWaitHandle._callsInProcess, System.Threading.RegisteredWaitHandle._cancelEvent, System.Threading.RegisteredWaitHandle._executeOnlyOnce, System.Threading.RegisteredWaitHandle._finalEvent, System.Threading.RegisteredWaitHandle._timeout, System.Threading.RegisteredWaitHandle._unregistered, System.Threading.RegisteredWaitHandle._waitObject, System.Runtime.InteropServices.SafeHandle.DangerousRelease(), System.Threading.Monitor.Exit(), j__TPar, System.L, System.Threading.WaitHandle.SafeWaitHandle, and System.Threading.NativeEventCalls.SetEvent().