avoid deadlock when buoy listeners for cache invalidation for first

leg's direction are registered
This commit is contained in:
Lennart Hensler committed 2012-01-02 18:09:59 +01:00
1 parent a84e564df0
commit d5cff509cc
2 files changed
+9

No files matched your search

@@ -25,6 +25,8 @@ public interface GPSFixTrack<ItemType, FixType extends GPSFix> extends Track<Fix
*/
void addListener(GPSTrackListener<ItemType> listener);
void removeListener(GPSTrackListener<ItemType> listener);
ItemType getTrackedItem();
/**
@@ -53,6 +53,13 @@ public class GPSFixTrackImpl<ItemType, FixType extends GPSFix> extends TrackImpl
}
}
@Override
public void removeListener(GPSTrackListener<ItemType> listener) {
synchronized (listeners) {
listeners.remove(listener);
}
}
/**
* To iterate over the resulting listener list, synchronize on the iterable returned. Only this will avoid
* {@link ConcurrentModificationException}s because listeners may be added on the fly, and this object will