Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
LowLevelMonitor.cs
Go to the documentation of this file.
2
3namespace System.Threading;
4
5[StructLayout(LayoutKind.Auto)]
6internal struct LowLevelMonitor
7{
14
15 private unsafe Monitor* _pMonitor;
16
17 public void Dispose()
18 {
20 }
21
22 public void Acquire()
23 {
25 }
26
27 public void Release()
28 {
30 }
31
32 public void Wait()
33 {
34 WaitCore();
35 }
36
37 public void Signal_Release()
38 {
40 }
41
48
49 private unsafe void DisposeCore()
50 {
51 if (_pMonitor != null)
52 {
55 _pMonitor = null;
56 }
57 }
58
63
68
69 private void WaitCore()
70 {
71 WaitCore(-1);
72 }
73
74 private unsafe bool WaitCore(int timeoutMilliseconds)
75 {
77 }
78
84}
static unsafe void InitializeCriticalSection(CRITICAL_SECTION *lpCriticalSection)
static unsafe void LeaveCriticalSection(CRITICAL_SECTION *lpCriticalSection)
static unsafe bool SleepConditionVariableCS(CONDITION_VARIABLE *ConditionVariable, CRITICAL_SECTION *CriticalSection, int dwMilliseconds)
static unsafe void InitializeConditionVariable(CONDITION_VARIABLE *ConditionVariable)
static unsafe void DeleteCriticalSection(CRITICAL_SECTION *lpCriticalSection)
static unsafe void WakeConditionVariable(CONDITION_VARIABLE *ConditionVariable)
static unsafe void EnterCriticalSection(CRITICAL_SECTION *lpCriticalSection)
static void FreeHGlobal(IntPtr hglobal)
Definition Marshal.cs:1680
static IntPtr AllocHGlobal(int cb)
Definition Marshal.cs:625
Interop.Kernel32.CONDITION_VARIABLE _conditionVariable
Interop.Kernel32.CRITICAL_SECTION _criticalSection
unsafe bool WaitCore(int timeoutMilliseconds)