Skip to content

Commit 68582bc

Browse files
committed
#51 need synchronizing for iteration blocks for the synchronized maps
1 parent fc5be1f commit 68582bc

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

pvAccessJava/src/org/epics/pvaccess/client/impl/remote/search/SimpleChannelSearchManagerImpl.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -418,10 +418,11 @@ private void boost()
418418
// for (SearchInstance si : sis)
419419
// si.getUserValue().set(BOOST_VALUE);
420420
// }
421-
422-
for(SearchInstance searchInstance : channels.values()) {
423-
searchInstance.getUserValue().set(BOOST_VALUE);
424-
}
421+
synchronized (channels) {
422+
for (SearchInstance searchInstance : channels.values()) {
423+
searchInstance.getUserValue().set(BOOST_VALUE);
424+
}
425+
}
425426
}
426427

427428
@Override
@@ -439,12 +440,12 @@ public void callback() {
439440
try
440441
{
441442
SearchInstance[] sis;
442-
//synchronized (channels) {
443+
synchronized (channels) {
443444
if (channels.size() == 0)
444445
return;
445446
sis = new SearchInstance[channels.size()];
446447
channels.values().toArray(sis);
447-
//}
448+
}
448449

449450
send(sis);
450451
}

0 commit comments

Comments
 (0)