Author: cziegeler Date: Thu Aug 17 12:32:09 2017 New Revision: 1805279 URL: http://svn.apache.org/viewvc?rev=1805279&view=rev Log: SLING-7056 : Servlets are not removed from pending servlets list
Modified: sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java Modified: sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java?rev=1805279&r1=1805278&r2=1805279&view=diff ============================================================================== --- sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java (original) +++ sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java Thu Aug 17 12:32:09 2017 @@ -960,7 +960,14 @@ public class SlingServletResolver protected void unbindServlet(final ServiceReference<Servlet> reference) { synchronized ( pendingServlets ) { - pendingServlets.remove(reference); + final Iterator<PendingServlet> iter = pendingServlets.iterator(); + while ( iter.hasNext() ) { + final PendingServlet ps = iter.next(); + if ( ps.reference.compareTo(reference) == 0 ) { + iter.remove(); + break; + } + } } destroyServlet(reference); }