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

◆ CancelAfter() [3/3]

void System.Threading.CancellationTokenSource.CancelAfter ( uint millisecondsDelay)
inlineprivateinherited

Definition at line 392 of file CancellationTokenSource.cs.

393 {
396 {
397 return;
398 }
399 TimerQueueTimer timerQueueTimer = _timer;
400 if (timerQueueTimer == null)
401 {
402 timerQueueTimer = new TimerQueueTimer(s_timerCallback, this, uint.MaxValue, uint.MaxValue, flowExecutionContext: false);
403 TimerQueueTimer timerQueueTimer2 = Interlocked.CompareExchange(ref _timer, timerQueueTimer, null);
404 if (timerQueueTimer2 != null)
405 {
406 timerQueueTimer.Close();
408 }
409 }
410 try
411 {
412 timerQueueTimer.Change(millisecondsDelay, uint.MaxValue);
413 }
414 catch (ObjectDisposedException)
415 {
416 }
417 }

References System.Threading.CancellationTokenSource._timer, System.Threading.Interlocked.CompareExchange(), System.Threading.CancellationTokenSource.IsCancellationRequested, System.millisecondsDelay, System.Threading.CancellationTokenSource.s_timerCallback, and System.Threading.CancellationTokenSource.ThrowIfDisposed().