test/java/util/logging/LogManagerAppContextDeadlock.java

Print this page

        

*** 33,49 **** import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.LogManager; import java.util.logging.Logger; /** * @test * @bug 8065991 * @summary check that when LogManager is initialized, a deadlock similar * to that described in 8065709 will not occur. ! * @modules java.base/sun.misc * @run main/othervm LogManagerAppContextDeadlock UNSECURE * @run main/othervm LogManagerAppContextDeadlock SECURE * * @author danielfuchs */ --- 33,51 ---- import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.LogManager; import java.util.logging.Logger; + import jdk.internal.misc.JavaAWTAccess; + import jdk.internal.misc.SharedSecrets; /** * @test * @bug 8065991 * @summary check that when LogManager is initialized, a deadlock similar * to that described in 8065709 will not occur. ! * @modules java.base/jdk.internal.misc * @run main/othervm LogManagerAppContextDeadlock UNSECURE * @run main/othervm LogManagerAppContextDeadlock SECURE * * @author danielfuchs */
*** 95,105 **** return appContext; } } static { ! sun.misc.SharedSecrets.setJavaAWTAccess(new sun.misc.JavaAWTAccess() { @Override public Object getAppletContext() { if (numAppContexts.get() == 0) return null; // We are in JavaAWTAccess, we can release sem and let // FakeAppContext constructor proceeed. --- 97,107 ---- return appContext; } } static { ! SharedSecrets.setJavaAWTAccess(new JavaAWTAccess() { @Override public Object getAppletContext() { if (numAppContexts.get() == 0) return null; // We are in JavaAWTAccess, we can release sem and let // FakeAppContext constructor proceeed.
*** 339,349 **** this.allowAll = allowAll; // we don't actually need any permission to create our // FileHandlers because we're passing invalid parameters // which will make the creation fail... permissions = new Permissions(); ! permissions.add(new RuntimePermission("accessClassInPackage.sun.misc")); // these are used for configuring the test itself... allPermissions = new Permissions(); allPermissions.add(new java.security.AllPermission()); --- 341,351 ---- this.allowAll = allowAll; // we don't actually need any permission to create our // FileHandlers because we're passing invalid parameters // which will make the creation fail... permissions = new Permissions(); ! permissions.add(new RuntimePermission("accessClassInPackage.jdk.internal.misc")); // these are used for configuring the test itself... allPermissions = new Permissions(); allPermissions.add(new java.security.AllPermission());