Author: kwin
Date: Fri Jul 15 08:14:44 2016
New Revision: 1752795

URL: http://svn.apache.org/viewvc?rev=1752795&view=rev
Log:
SLING-5847 prevent deadlock

Modified:
    
sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java

Modified: 
sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java?rev=1752795&r1=1752794&r2=1752795&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java
 (original)
+++ 
sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java
 Fri Jul 15 08:14:44 2016
@@ -316,9 +316,7 @@ public class JcrResourceBundleProvider i
         scheduler.schedule(new Runnable() {
             @Override
             public void run() {
-                synchronized(JcrResourceBundleProvider.this) {
-                    reloadBundle(key);
-                }
+                reloadBundle(key);
                 scheduledJobNames.remove(jobName);
             }
         }, options);
@@ -329,7 +327,10 @@ public class JcrResourceBundleProvider i
         resourceBundleCache.remove(key);
         log.info("Reloading resource bundle for {}", key);
         // unregister bundle
-        ServiceRegistration serviceRegistration = 
bundleServiceRegistrations.remove(key);
+        ServiceRegistration serviceRegistration = null;
+        synchronized (this) {
+            serviceRegistration = bundleServiceRegistrations.remove(key);
+        }
         if (serviceRegistration != null) {
             serviceRegistration.unregister();
         } else {


Reply via email to