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

◆ Dispose() [2/2]

virtual void System.Threading.CancellationTokenSource.Dispose ( bool disposing)
inlineprotectedvirtual

Reimplemented in System.Threading.CancellationTokenSource.Linked1CancellationTokenSource, System.Threading.CancellationTokenSource.Linked2CancellationTokenSource, and System.Threading.CancellationTokenSource.LinkedNCancellationTokenSource.

Definition at line 448 of file CancellationTokenSource.cs.

449 {
450 if (!disposing || _disposed)
451 {
452 return;
453 }
454 TimerQueueTimer timer = _timer;
455 if (timer != null)
456 {
457 _timer = null;
458 timer.Close();
459 }
460 _registrations = null;
461 if (_kernelEvent != null)
462 {
463 ManualResetEvent manualResetEvent = Interlocked.Exchange(ref _kernelEvent, null);
464 if (manualResetEvent != null && _state != 1)
465 {
466 manualResetEvent.Dispose();
467 }
468 }
469 _disposed = true;
470 }

References System.Threading.CancellationTokenSource._disposed, System.Threading.CancellationTokenSource._kernelEvent, System.Threading.CancellationTokenSource._registrations, System.Threading.CancellationTokenSource._state, System.Threading.CancellationTokenSource._timer, and System.Threading.Interlocked.Exchange().