/// <summary> /// mark the end of a task /// </summary> public virtual void MarkTaskEnd(TaskStats stats, int count) { lock (this) { int numParallelTasks = nextTaskRunNum - 1 - stats.TaskRunNum; // note: if the stats were cleared, might be that this stats object is // no longer in points, but this is just ok. stats.MarkEnd(numParallelTasks, count); } }
/// <summary> /// mark the end of a task /// </summary> public virtual void MarkTaskEnd(TaskStats stats, int count) { UninterruptableMonitor.Enter(this); try { int numParallelTasks = nextTaskRunNum - 1 - stats.TaskRunNum; // note: if the stats were cleared, might be that this stats object is // no longer in points, but this is just ok. stats.MarkEnd(numParallelTasks, count); } finally { UninterruptableMonitor.Exit(this); } }