You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by da...@apache.org on 2015/07/31 16:38:36 UTC
svn commit: r1693612 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
Author: davidb
Date: Fri Jul 31 14:38:36 2015
New Revision: 1693612
URL: http://svn.apache.org/r1693612
Log:
FELIX-4977 Service Registry Concurrency
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java?rev=1693612&r1=1693611&r2=1693612&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ServiceRegistry.java Fri Jul 31 14:38:36 2015
@@ -362,6 +362,10 @@ public class ServiceRegistry
svcObj = holder.m_service;
}
}
+
+ // if someone concurrently changed the holder, loop again
+ if (holder != usage.m_svcHolderRef.get())
+ holder = null;
}
}
}