From: remm Date: Wed, 2 Aug 2006 00:39:28 +0000 (+0000) Subject: - Use a single reference to the cache during lookup (the cache array could be concurr... X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=67de32d886737c8988997511380f029ca6702d48;p=tomcat7.0 - Use a single reference to the cache during lookup (the cache array could be concurrently replaced). git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@427821 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/naming/resources/ResourceCache.java b/java/org/apache/naming/resources/ResourceCache.java index a82fe0ef7..733a22a14 100644 --- a/java/org/apache/naming/resources/ResourceCache.java +++ b/java/org/apache/naming/resources/ResourceCache.java @@ -289,10 +289,11 @@ public class ResourceCache { public CacheEntry lookup(String name) { CacheEntry cacheEntry = null; + CacheEntry[] currentCache = cache; accessCount++; - int pos = find(cache, name); - if ((pos != -1) && (name.equals(cache[pos].name))) { - cacheEntry = cache[pos]; + int pos = find(currentCache, name); + if ((pos != -1) && (name.equals(currentCache[pos].name))) { + cacheEntry = currentCache[pos]; } if (cacheEntry == null) { try {