diff --git a/public/java/src/org/broadinstitute/sting/utils/SimpleTimer.java b/public/java/src/org/broadinstitute/sting/utils/SimpleTimer.java index 342087b41..6d228640f 100644 --- a/public/java/src/org/broadinstitute/sting/utils/SimpleTimer.java +++ b/public/java/src/org/broadinstitute/sting/utils/SimpleTimer.java @@ -58,7 +58,7 @@ public class SimpleTimer { */ @Requires("running == false") @Ensures({"result != null", "elapsed == 0l"}) - public SimpleTimer start() { + public synchronized SimpleTimer start() { elapsed = 0l; restart(); return this; @@ -73,7 +73,7 @@ public class SimpleTimer { */ @Requires("running == false") @Ensures("result != null") - public SimpleTimer restart() { + public synchronized SimpleTimer restart() { running = true; startTime = currentTime(); return this; @@ -101,7 +101,7 @@ public class SimpleTimer { */ @Requires("running == true") @Ensures({"result != null", "elapsed >= old(elapsed)", "running == false"}) - public SimpleTimer stop() { + public synchronized SimpleTimer stop() { running = false; elapsed += currentTime() - startTime; return this; @@ -116,11 +116,10 @@ public class SimpleTimer { @Ensures({ "result >= (elapsed/1000.0)", "result >= 0"}) - public double getElapsedTime() { + public synchronized double getElapsedTime() { return (running ? (currentTime() - startTime + elapsed) : elapsed) / 1000.0; } - public void printElapsedTime(PrintStream out) { out.printf("SimpleTimer %s: %.2f%n", name, getElapsedTime()); } diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/AlignmentUtils.java b/public/java/src/org/broadinstitute/sting/utils/sam/AlignmentUtils.java index 344eccb83..b8e892101 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/AlignmentUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/AlignmentUtils.java @@ -353,7 +353,7 @@ public class AlignmentUtils { break; case D: case N: - refPos++; + refPos += elementLength; break; case M: for ( int jjj = 0; jjj < elementLength; jjj++ ) {