You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2013/01/31 18:20:07 UTC
svn commit: r1441072 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: rickhall
Date: Thu Jan 31 17:20:06 2013
New Revision: 1441072
URL: http://svn.apache.org/viewvc?rev=1441072&view=rev
Log:
When grabing bundle locks for a refresh operation, we also need to allow
for bundles to be in the UNINSTALLED state, otherwise we cannot refresh
them. (FELIX-3807)
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=1441072&r1=1441071&r2=1441072&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Thu Jan 31 17:20:06 2013
@@ -2588,13 +2588,11 @@ public class Felix extends BundleImpl im
new TreeMap<Long, BundleImpl>(m_installedBundles[IDENTIFIER_MAP_IDX])
};
target = (BundleImpl) maps[LOCATION_MAP_IDX].remove(bundle._getLocation());
- maps[IDENTIFIER_MAP_IDX].remove(new Long(target.getBundleId()));
- m_installedBundles = maps;
-
- // Put the uninstalled bundle into the uninstalled
- // list for subsequent refreshing.
if (target != null)
{
+ maps[IDENTIFIER_MAP_IDX].remove(new Long(target.getBundleId()));
+ m_installedBundles = maps;
+
// Set the bundle's persistent state to uninstalled.
bundle.setPersistentStateUninstalled();
@@ -4708,7 +4706,7 @@ public class Felix extends BundleImpl im
{
acquireBundleLock(m_bundle,
Bundle.INSTALLED | Bundle.RESOLVED | Bundle.STARTING |
- Bundle.ACTIVE | Bundle.STOPPING);
+ Bundle.ACTIVE | Bundle.STOPPING | Bundle.UNINSTALLED);
try
{
m_oldState = m_bundle.getState();