using non-preemptive stopping of receivers in TracTracTrackerImpl to make sure all data received is delivered; see also bug 1517

This commit is contained in:
Axel Uhl committed 2013-09-12 17:09:54 +02:00
1 parent b098280f03
commit c0204b58ff
2 files changed
+3 -2

No files matched your search

@@ -584,7 +584,8 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements
// ask RacingEventService to cleanly stop and unregister this tracker
// if the race has all data loaded. Doing this asynchronously because
// stopping can take longer and if you're loading many races in parallel
// this can slow down loading extremely
// this can slow down loading extremely because this call-back seems to be
// called by TTCM synchronously.
for (final RaceDefinition race : getRaces()) {
DynamicTrackedRace trackedRace = getTrackedRegatta().getExistingTrackedRace(race);
final Regatta regatta = getRegatta();
@@ -1160,7 +1160,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen
stopTrackingWind(regatta, race);
}
}
raceTracker.stop(); // this also removes the TrackedRace from trackedRegatta
raceTracker.stop();
raceTrackersByID.remove(raceTracker.getID());
}
raceTrackersByRegatta.remove(regatta);