Author: pauls
Date: Wed Mar  5 03:16:58 2008
New Revision: 633818

URL: http://svn.apache.org/viewvc?rev=633818&view=rev
Log:
Turns out our LDAP filter is not reentrant - but it is easy to fix - so this 
patch should make it work. It is needed because filter evaluations can call out 
to keys being compared which might in turn use the given thread to evaluate 
their own filter.

Modified:
    
felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java

Modified: 
felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java?rev=633818&r1=633817&r2=633818&view=diff
==============================================================================
--- 
felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java 
(original)
+++ 
felix/trunk/framework/src/main/java/org/apache/felix/framework/FilterImpl.java 
Wed Mar  5 03:16:58 2008
@@ -133,6 +133,7 @@
         {
             evaluator = (Evaluator) tuple[0];
             mapper = (SimpleMapper) tuple[1];
+            m_cache.set(null);
         }
 
         try 
@@ -170,6 +171,10 @@
             if (tuple == null) 
             {
                 m_cache.set(new SoftReference(new Object[] {evaluator, 
mapper}));
+            }
+            else
+            {
+                m_cache.set(tupleRef);
             }
         }
 


Reply via email to