From 67de32d886737c8988997511380f029ca6702d48 Mon Sep 17 00:00:00 2001 From: remm Date: Wed, 2 Aug 2006 00:39:28 +0000 Subject: [PATCH] - 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 --- java/org/apache/naming/resources/ResourceCache.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 { -- 2.11.0