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);
}
}