public static void SaveDeadlocks(DeadlockFinder deadlockFinder, string deadlocksDirectory) { Level level = deadlockFinder.Level; string deadlockFilename = GetDeadlockFilename(level, deadlocksDirectory); LevelSet deadlockLevelSet = DeadlockUtils.GetDeadlockLevelSet(level, deadlockFinder.Deadlocks); deadlockLevelSet.Name = "Calculated Deadlocks"; deadlockLevelSet.SaveAs(deadlockFilename); }
public ComparisonDeadlockFinder(Level level, DeadlockFinder finder1, DeadlockFinder finder2, bool detectMisses1, bool detectMisses2) : base(level) { this.finder1 = finder1; this.finder2 = finder2; this.detectMisses1 = detectMisses1; this.detectMisses2 = detectMisses2; }
public static Array2D<bool> GetSimpleDeadlockMap(Level level) { DeadlockFinder deadlockFinder = new DeadlockFinder(level); return deadlockFinder.SimpleDeadlockMap; }
protected void CreateDeadlockFinder() { deadlockFinder = null; if (calculateDeadlocks && deadlocksDirectory != null) { deadlockFinder = DeadlockUtils.LoadDeadlocks(level, deadlocksDirectory); } if (deadlockFinder == null) { deadlockFinder = DeadlockFinder.CreateInstance(level, calculateDeadlocks, hardCodedDeadlocks); deadlockFinder.CancelInfo = cancelInfo; deadlockFinder.FindDeadlocks(); } }