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 2007/07/23 19:03:40 UTC
svn commit: r558798 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
Author: rickhall
Date: Mon Jul 23 10:03:39 2007
New Revision: 558798
URL: http://svn.apache.org/viewvc?view=rev&rev=558798
Log:
A bug slipped into the framework shutdown process during the refactoring
of the code. A "synchronized (this)" was put into an inner class, but
not converted to "synchronized (Felix.this)" which was causing threads
calling Felix.stopAndWait() to not get notified that the framework had
shutdown.
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?view=diff&rev=558798&r1=558797&r2=558798
==============================================================================
--- 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 Mon Jul 23 10:03:39 2007
@@ -1904,9 +1904,9 @@
try
{
- if (bundle.getInfo().getActivator() != null)
+ if (info.getActivator() != null)
{
- m_secureAction.stopActivator(info.getActivator(),info.getBundleContext());
+ m_secureAction.stopActivator(info.getActivator(), info.getBundleContext());
}
// Try to save the activator in the cache.
@@ -3816,7 +3816,7 @@
{
// First, start the framework shutdown, which will
// stop all bundles.
- synchronized (this)
+ synchronized (Felix.this)
{
// Change framework state from active to stopping.
// If framework is not active, then just return.
@@ -3946,10 +3946,10 @@
}
// Notify any waiters that the framework is back in its initial state.
- synchronized (this)
+ synchronized (Felix.this)
{
m_systemBundleInfo.setState(Bundle.UNINSTALLED);
- notifyAll();
+ Felix.this.notifyAll();
}
// Finally shutdown the JVM if the framework is running stand-alone.