< prev index next >

src/java.base/share/classes/jdk/internal/ref/Cleaner.java

Print this page
rev 13549 : 8148117: Move sun.misc.Cleaner to jdk.internal.ref
Reviewed-by: alanb, rriggs

@@ -21,11 +21,11 @@
  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
 
-package sun.misc;
+package jdk.internal.ref;
 
 import java.lang.ref.*;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 

@@ -56,10 +56,11 @@
  * @author Mark Reinhold
  */
 
 public class Cleaner
     extends PhantomReference<Object>
+    implements Runnable
 {
 
     // Dummy reference queue, needed because the PhantomReference constructor
     // insists that we pass a queue.  Nothing will ever be placed on this queue
     // since the reference handler invokes cleaners explicitly.

@@ -151,6 +152,13 @@
                         return null;
                     }});
         }
     }
 
+    @Override public void run() {
+        SecurityManager security = System.getSecurityManager();
+        if (security != null)
+            security.checkPackageAccess("jdk.internal.ref");
+        this.clean();
+    }
+
 }
< prev index next >