Mercurial > hg > openjdk > lambda > corba
changeset 556:f53b9b550f62
Merge
author | henryjen |
---|---|
date | Fri, 20 Sep 2013 10:06:53 -0700 |
parents | a4bb3b450016 (diff) ce03e0a49edd (current diff) |
children | 088257d3dda0 |
files | .hgtags .jcheck/conf |
diffstat | 2 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Fri Sep 13 11:10:57 2013 -0700 +++ b/.hgtags Fri Sep 20 10:06:53 2013 -0700 @@ -232,3 +232,4 @@ d411c60a8c2fe8fdc572af907775e90f7eefd513 jdk8-b104 4e38de7c767e34104fa147b5b346d9fe6b731279 jdk8-b105 2e3a056c84a71eba78945c18b05397858ffd7ad0 jdk8-b106 +23fc34133152692b725db4bd617b4c8dfd6ccb05 jdk8-b107
--- a/src/share/classes/com/sun/corba/se/impl/transport/DefaultSocketFactoryImpl.java Fri Sep 13 11:10:57 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/transport/DefaultSocketFactoryImpl.java Fri Sep 20 10:06:53 2013 -0700 @@ -32,6 +32,7 @@ import java.net.ServerSocket; import java.nio.channels.SocketChannel; import java.nio.channels.ServerSocketChannel; +import java.security.PrivilegedAction; import com.sun.corba.se.pept.transport.Acceptor; @@ -44,6 +45,22 @@ implements ORBSocketFactory { private ORB orb; + private static final boolean keepAlive; + + static { + keepAlive = java.security.AccessController.doPrivileged( + new PrivilegedAction<Boolean>() { + @Override + public Boolean run () { + String value = + System.getProperty("com.sun.CORBA.transport.enableTcpKeepAlive"); + if (value != null) + return new Boolean(!"false".equalsIgnoreCase(value)); + + return Boolean.FALSE; + } + }); + } public void setORB(ORB orb) { @@ -85,6 +102,9 @@ // Disable Nagle's algorithm (i.e., always send immediately). socket.setTcpNoDelay(true); + if (keepAlive) + socket.setKeepAlive(true); + return socket; } @@ -95,6 +115,8 @@ { // Disable Nagle's algorithm (i.e., always send immediately). socket.setTcpNoDelay(true); + if (keepAlive) + socket.setKeepAlive(true); } }