예제 #1
0
 public void initialize() {
   if (Parameters.errorId >= 0) {
     LinkedHashSet<CommutativePair> seenRaces = HybridRaceTracker.getRacesFromFile();
     racePair = (CommutativePair) (seenRaces.toArray())[Parameters.errorId - 1];
     racePair.printcryptic(System.out);
   }
 }
예제 #2
0
  public void lockBefore(Integer iid, Integer thread, Integer lock, Object actualLock) {
    boolean flag = false;
    synchronized (ActiveChecker.lock) {
      if (racePair.containsWrite(iid)) {
        foundSoFar++;
        if (foundSoFar == stopAt) {
          flag = true;
          System.out.println(
              "Match found at " + javato.activetesting.analysis.Observer.getIidToLine(iid));
        }
      }
    }

    if (flag) {
      try {
        Thread.sleep(Parameters.raceBreakpointWaittime);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }