You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2015/01/26 13:56:21 UTC
svn commit: r1654779 -
/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java
Author: stefanegli
Date: Mon Jan 26 12:56:21 2015
New Revision: 1654779
URL: http://svn.apache.org/r1654779
Log:
SLING-3832 : TOPOLOGY_INIT from bindTopologyEventListener must be sent from within synchronized(lock) to ensure it is sent as the first event - otherwise CHANGING and/or CHANGED could sneak in ahead
Modified:
sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java
Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java?rev=1654779&r1=1654778&r2=1654779&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/DiscoveryServiceImpl.java Mon Jan 26 12:56:21 2015
@@ -214,19 +214,16 @@ public class DiscoveryServiceImpl implem
logger.debug("bindTopologyEventListener: Binding TopologyEventListener {}",
eventListener);
- boolean activated = false;
synchronized (lock) {
final List<TopologyEventListener> currentList = new ArrayList<TopologyEventListener>(
Arrays.asList(eventListeners));
currentList.add(eventListener);
this.eventListeners = currentList
.toArray(new TopologyEventListener[currentList.size()]);
- activated = this.activated;
- }
-
- if (activated) {
- sendTopologyEvent(eventListener, new TopologyEvent(
- Type.TOPOLOGY_INIT, null, getTopology()));
+ if (activated) {
+ sendTopologyEvent(eventListener, new TopologyEvent(
+ Type.TOPOLOGY_INIT, null, getTopology()));
+ }
}
}