diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java index 20c0bfb98..0e190c9af 100644 --- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java +++ b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java @@ -1190,11 +1190,13 @@ public abstract class AbstractRepositoryManager<T> implements IRepositoryManager } public void flushCache() { - synchronized (repositories) { - Collection<RepositoryInfo<T>> repos = repositories.values(); - for (Iterator<RepositoryInfo<T>> iterator = repos.iterator(); iterator.hasNext();) { - RepositoryInfo<T> repositoryInfo = iterator.next(); - repositoryInfo.repository = null; + synchronized (repositoryLock) { + if (repositories != null) { + Collection<RepositoryInfo<T>> repos = repositories.values(); + for (Iterator<RepositoryInfo<T>> iterator = repos.iterator(); iterator.hasNext();) { + RepositoryInfo<T> repositoryInfo = iterator.next(); + repositoryInfo.repository = null; + } } } } |