You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2010/01/28 10:46:44 UTC
svn commit: r904019 -
/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java
Author: bdelacretaz
Date: Thu Jan 28 09:46:43 2010
New Revision: 904019
URL: http://svn.apache.org/viewvc?rev=904019&view=rev
Log:
SLING-1305 - SynchronousRefreshPackagesTask might miss PACKAGES_REFRESHED event - patch contributed by Marcel Reutegger, thanks!
Modified:
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java
Modified: sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java?rev=904019&r1=904018&r2=904019&view=diff
==============================================================================
--- sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java (original)
+++ sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java Thu Jan 28 09:46:43 2010
@@ -31,7 +31,7 @@
/** Max time allowed to refresh packages (TODO configurable??) */
public static final int MAX_REFRESH_PACKAGES_WAIT_SECONDS = 30;
- private int packageRefreshEventsCount;
+ private volatile int packageRefreshEventsCount;
private OsgiInstallerContext ctx;
/**
@@ -84,9 +84,9 @@
// It seems like (at least with Felix 1.0.4) we won't get a FrameworkEvent.PACKAGES_REFRESHED
// if one happened very recently and there's nothing to refresh
- ctx.getPackageAdmin().refreshPackages(null);
ctx.getBundleContext().addFrameworkListener(this);
try {
+ ctx.getPackageAdmin().refreshPackages(null);
while(true) {
if(System.currentTimeMillis() > timeout) {
if(ctx.getLogService() != null) {