avoid deadlock by only locking windTracks collection when adding a wind track

This commit is contained in:
Axel Uhl committed 2012-03-08 14:02:23 +01:00
1 parent aaa2985ab2
commit 65212b45ca
1 file changed
+8 -5
@@ -500,11 +500,14 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener {
}
@Override
public synchronized WindTrack getOrCreateWindTrack(WindSource windSource) {
WindTrack result = windTracks.get(windSource);
if (result == null) {
result = createWindTrack(windSource);
windTracks.put(windSource, result);
public WindTrack getOrCreateWindTrack(WindSource windSource) {
WindTrack result;
synchronized (windTracks) {
result = windTracks.get(windSource);
if (result == null) {
result = createWindTrack(windSource);
windTracks.put(windSource, result);
}
}
return result;
}