Skip to content

Commit 945f5cb

Browse files
fix thread safety (#1403)
Co-authored-by: raffaelladevita <devita@ge.infn.it>
1 parent 618f929 commit 945f5cb

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

  • common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark

‎common-tools/clas-utils/src/main/java/org/jlab/utils/benchmark/Benchmark.java‎

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,36 +39,34 @@ public void reset(){
3939
bt.reset();
4040
}
4141

42-
public void addTimer(String name){
42+
public synchronized void addTimer(String name){
4343
if (!timerStore.containsKey(name))
4444
timerStore.put(name, new BenchmarkMultiTimer(name));
45-
else
46-
System.err.println("[Benchmark] -----> error. timer with name ("+ name + ") already exists");
4745
}
4846

4947
public void pause(String name){
5048
if (!timerStore.containsKey(name))
51-
timerStore.put(name, new BenchmarkMultiTimer(name));
49+
addTimer(name);
5250
else
5351
timerStore.get(name).pause();
5452
}
5553

5654
public void resume(String name){
5755
if (!timerStore.containsKey(name))
58-
timerStore.put(name, new BenchmarkMultiTimer(name));
56+
addTimer(name);
5957
timerStore.get(name).resume();
6058
}
6159

6260
public void pause(int thread, String name){
6361
if (!timerStore.containsKey(name))
64-
timerStore.put(name, new BenchmarkMultiTimer(name));
62+
addTimer(name);
6563
else
6664
timerStore.get(name).pause(thread);
6765
}
6866

6967
public void resume(int thread, String name){
7068
if (!timerStore.containsKey(name))
71-
timerStore.put(name, new BenchmarkMultiTimer(name));
69+
addTimer(name);
7270
timerStore.get(name).resume(thread);
7371
}
7472

0 commit comments

Comments
 (0)