internal void RemoveCallback (CancellationTokenRegistration tokenReg) { if (!canceled) { lock (syncRoot) { if (!canceled) { callbacks.Remove (tokenReg); return; } } } SpinWait sw = new SpinWait (); while (!processed) sw.SpinOnce (); }
public void Dispose() { if (source != null) { source.RemoveCallback(this); } }