/// <summary> /// CancellationToken cancellation handler /// </summary> /// <param name="obj"><see cref="PartialThreadBlocker"/> instance</param> private static void CancellationTokenCanceledEventHandler(object obj) { PartialThreadBlocker blocker = obj as PartialThreadBlocker; TurboContract.Assert(blocker != null, conditionString: "blocker != null"); lock (blocker._lockObj) { Monitor.PulseAll(blocker._lockObj); } }
/// <summary> /// Обработчик отмены токена /// </summary> /// <param name="obj">Объект PartialThreadBlocker</param> private static void CancellationTokenCanceledEventHandler(object obj) { PartialThreadBlocker blocker = obj as PartialThreadBlocker; Debug.Assert(blocker != null); lock (blocker._lockObj) { Monitor.PulseAll(blocker._lockObj); } }