提交 a6edb417 编写于 作者: R rpatil

8198494: 8u171 and 8u172 - Build failure on non-SE Linux Platforms

Reviewed-by: dfuchs, rriggs, coffeys, aefimov
上级 897e7f42
......@@ -31,9 +31,9 @@
package com.sun.corba.se.impl.ior;
import java.io.ObjectInputStream ;
import java.io.ObjectOutputStream ;
import java.io.IOException ;
import java.io.IOException;
import java.io.ObjectOutputStream;
import sun.corba.SharedSecrets;
import org.omg.CORBA.ORB ;
......@@ -46,7 +46,6 @@ import org.omg.CORBA.portable.OutputStream ;
// other vendor's ORBs.
import com.sun.corba.se.spi.presentation.rmi.StubAdapter ;
import com.sun.corba.se.impl.orbutil.HexOutputStream ;
import sun.corba.SharedSecrets;
/**
* This class implements a very simply IOR representation
......
......@@ -29,8 +29,7 @@ import com.sun.corba.se.impl.io.ValueUtility;
import sun.misc.JavaOISAccess;
import sun.misc.Unsafe;
import java.io.ObjectInputStream;
import java.security.AccessController;
import java.lang.reflect.Method;
/** A repository of "shared secrets", which are a mechanism for
calling implementation-private methods in another package without
......@@ -45,8 +44,32 @@ import java.security.AccessController;
public class SharedSecrets {
private static final Unsafe unsafe = Unsafe.getUnsafe();
private static JavaCorbaAccess javaCorbaAccess;
private static final Method getJavaOISAccessMethod;
private static JavaOISAccess javaOISAccess;
// Initialize getJavaOISAccessMethod using reflection.
static {
try {
Class sharedSecret = Class.forName("sun.misc.SharedSecrets");
getJavaOISAccessMethod =
sharedSecret.getMethod("getJavaOISAccess");
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
public static JavaOISAccess getJavaOISAccess() {
if (javaOISAccess == null) {
try {
javaOISAccess =
(JavaOISAccess) getJavaOISAccessMethod.invoke(null);
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
return javaOISAccess;
}
public static JavaCorbaAccess getJavaCorbaAccess() {
if (javaCorbaAccess == null) {
// Ensure ValueUtility is initialized; we know that that class
......@@ -59,16 +82,4 @@ public class SharedSecrets {
public static void setJavaCorbaAccess(JavaCorbaAccess access) {
javaCorbaAccess = access;
}
public static void setJavaOISAccess(JavaOISAccess access) {
javaOISAccess = access;
}
public static JavaOISAccess getJavaOISAccess() {
if (javaOISAccess == null)
unsafe.ensureClassInitialized(ObjectInputStream.class);
return javaOISAccess;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册