obtain lock for mark tracks before iterating

Change-Id: Id4258966b99bc505bed83ca8a1ab7e323bbdecf6
This commit is contained in:
Axel Uhl committed 2016-03-23 15:03:12 +01:00
1 parent 2ebdb3fd3d
commit 7ff8a6669c
1 file changed
+7 -2
@@ -6147,8 +6147,13 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
*/
private Iterable<GPSFixDTO> convertToGPSFixDTOTrack(Track<? extends GPSFix> track) {
final List<GPSFixDTO> result = new ArrayList<>();
for (final GPSFix fix : track.getFixes()) {
result.add(convertToGPSFixDTO(fix));
track.lockForRead();
try {
for (final GPSFix fix : track.getFixes()) {
result.add(convertToGPSFixDTO(fix));
}
} finally {
track.unlockAfterRead();
}
return result;
}