Author: kwin
Date: Tue Sep 26 17:11:41 2017
New Revision: 1809761

URL: http://svn.apache.org/viewvc?rev=1809761&view=rev
Log:
SLING-6261 skip null references in the table array

Modified:
    
sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/ThreadLocalCleaner.java

Modified: 
sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/ThreadLocalCleaner.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/ThreadLocalCleaner.java?rev=1809761&r1=1809760&r2=1809761&view=diff
==============================================================================
--- 
sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/ThreadLocalCleaner.java
 (original)
+++ 
sling/trunk/bundles/commons/threads/src/main/java/org/apache/sling/commons/threads/impl/ThreadLocalCleaner.java
 Tue Sep 26 17:11:41 2017
@@ -83,7 +83,7 @@ public class ThreadLocalCleaner {
 
     /** Notifies the {@link ThreadLocalChangeListener} about changes on thread 
local variables for the current thread.
      * 
-     * @param field
+     * @param field is a field containing a ThreadLocalMap
      * @param backup */
     private void diff(Field field, Reference<?>[] backup) {
         try {
@@ -136,9 +136,12 @@ public class ThreadLocalCleaner {
     private void changed(Thread thread, Reference<?> reference,
             ThreadLocalChangeListener.Mode mode)
             throws IllegalAccessException {
-        listener.changed(mode,
-                thread, (ThreadLocal<?>) reference.get(),
-                threadLocalEntryValueField.get(reference));
+        // just skip null reference entries (may happen if array has been 
resized)
+        if (reference != null) {
+            listener.changed(mode,
+                    thread, (ThreadLocal<?>) reference.get(),
+                    threadLocalEntryValueField.get(reference));
+        }
     }
 
     /** @param c the class containing the field


Reply via email to