Skip to content

Commit 4a37d35

Browse files
committed
lower lock
1 parent 246509a commit 4a37d35

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

‎common-tools/clas-reco/src/main/java/org/jlab/clas/reco/ReconstructionEngine.java‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ public abstract class ReconstructionEngine implements Engine {
7878
abstract public boolean init();
7979
abstract public void detectorChanged(int runNumber);
8080

81+
final Object detectorChangedLock = new Object();
82+
8183
public ReconstructionEngine(String name, String author, String version){
8284
engineName = name;
8385
engineAuthor = author;
@@ -345,16 +347,18 @@ public void dropBanks(DataEvent event) {
345347
}
346348
}
347349
}
348-
349-
public synchronized boolean checkRunNumber(DataEvent event) {
350+
351+
public boolean checkRunNumber(DataEvent event) {
350352
int r = runNumberOverride;
351353
if (r <= 0 && event.hasBank("RUN::config")) {
352354
r = event.getBank("RUN::config").getInt("run",0);
353355
}
354356
if (r > 0) {
355-
if (this.runNumbers.isEmpty() || r != this.runNumbers.get(this.runNumbers.size()-1)) {
356-
this.runNumbers.add(r);
357-
this.detectorChanged(r);
357+
synchronized (detectorChangedLock) {
358+
if (this.runNumbers.isEmpty() || r != this.runNumbers.get(this.runNumbers.size()-1)) {
359+
this.runNumbers.add(r);
360+
this.detectorChanged(r);
361+
}
358362
}
359363
}
360364
return !this.ignoreInvalidRunNumbers || r>0;

0 commit comments

Comments
 (0)