--- a/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java Tue Mar 06 10:25:45 2012 +0800
+++ b/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java Tue Mar 06 20:34:38 2012 +0000
@@ -26,6 +26,7 @@
import java.io.FileDescriptor;
import java.io.IOException;
+import java.security.AccessController;
import sun.net.ResourceManager;
/**
@@ -52,6 +53,15 @@
private boolean loopbackMode = true;
private int ttl = -1;
+ private static final String os = AccessController.doPrivileged(
+ new sun.security.action.GetPropertyAction("os.name")
+ );
+
+ /**
+ * flag set if the native connect() call not to be used
+ */
+ private final static boolean connectDisabled = os.startsWith("Mac OS");
+
/**
* Load net library into runtime.
*/
@@ -349,4 +359,7 @@
protected abstract void connect0(InetAddress address, int port) throws SocketException;
protected abstract void disconnect0(int family);
+ protected boolean nativeConnectDisabled() {
+ return connectDisabled;
+ }
}