commit | e59811a5cf43566d5300a91fc0b632e557a64348 | [log] [tgz] |
---|---|---|
author | Simeon Andreev <simeon.danailov.andreev@gmail.com> | Fri Oct 02 10:02:54 2020 +0200 |
committer | Andrey Loskutov <loskutov@gmx.de> | Mon Oct 05 04:26:55 2020 -0400 |
tree | 14d98a4e682683c1f2f3ae1f2917d2b836054054 | |
parent | 8d9c7c050302c19df936d2d3086dba8f73aaac10 [diff] |
Bug 567512 - Concurrent modification on clean build with xtext builder Race conditions can occur when JavaModelManager.PerProjectInfo.indexingSecondaryCache is accessed, e.g. when deleting Java sources with secondary types, while the indexing of those secondary types is stil ongoing. In particular, its possible that a secondary type is being added to a cache "at the same time" as a secondary type is being removed from the cache, or while the cache is being iterated over due to a merge operation. Both can result in concurrent modification exceptions. This change adds extra synchronization to prevent concurrent container access and modifications; the cache is changed to a synchronized map and iterating over it is synchronized on the map. Change-Id: I5a9889ce914cf4c11e4245ec4891f2f41c2fe07e Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
This is the core part of Eclipse's Java development tools. It contains the non-UI support for compiling and working with Java code, including the following:
For more information and important links, refer to the [JDT wiki page] 1 or the [JDT project overview page] 2.