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

◆ UnregisterPortable()

bool System.Threading.RegisteredWaitHandle.UnregisterPortable ( WaitHandle waitObject)
inlineprivate

Definition at line 169 of file RegisteredWaitHandle.cs.

170 {
171 s_callbackLock.Acquire();
172 bool success = false;
173 try
174 {
176 {
177 return false;
178 }
182 if (_unregistered)
183 {
185 return true;
186 }
187 if (IsBlocking)
188 {
190 }
191 else
192 {
194 }
195 }
196 catch (Exception)
197 {
198 if (_removed != null)
199 {
201 _removed = null;
202 }
203 else if (_callbacksComplete != null)
204 {
206 _callbacksComplete = null;
207 }
209 if (success)
210 {
212 }
214 throw;
215 }
216 finally
217 {
218 _unregisterCalled = true;
219 s_callbackLock.Release();
220 }
221 WaitThread.UnregisterWait(this);
222 return true;
223 }
void DangerousAddRef(ref bool success)
Definition SafeHandle.cs:76
PortableThreadPool.? WaitThread WaitThread
static void ReturnEvent(AutoResetEvent resetEvent)
static readonly LowLevelLock s_callbackLock

References System.Threading.RegisteredWaitHandle._callbacksComplete, System.Threading.RegisteredWaitHandle._removed, System.Threading.RegisteredWaitHandle._unregisterCalled, System.Threading.RegisteredWaitHandle._unregistered, System.Runtime.InteropServices.SafeHandle.DangerousAddRef(), System.Runtime.InteropServices.SafeHandle.DangerousGetHandle(), System.Runtime.InteropServices.SafeHandle.DangerousRelease(), System.Threading.RegisteredWaitHandle.IsBlocking, System.Threading.RegisteredWaitHandle.RentEvent(), System.Threading.RegisteredWaitHandle.ReturnEvent(), System.Threading.RegisteredWaitHandle.s_callbackLock, System.Threading.WaitHandle.SafeWaitHandle, System.Threading.RegisteredWaitHandle.SignalUserWaitHandle(), System.Threading.RegisteredWaitHandle.UserUnregisterWaitHandle, System.Threading.RegisteredWaitHandle.UserUnregisterWaitHandleValue, System.Threading.RegisteredWaitHandle.WaitThread, and System.IntPtr.Zero.

Referenced by System.Threading.RegisteredWaitHandle.Unregister().