summaryrefslogtreecommitdiffstats
path: root/io
diff options
context:
space:
mode:
Diffstat (limited to 'io')
-rw-r--r--io/source/acceptor/acc_socket.cxx6
-rw-r--r--io/source/connector/connector.cxx4
2 files changed, 8 insertions, 2 deletions
diff --git a/io/source/acceptor/acc_socket.cxx b/io/source/acceptor/acc_socket.cxx
index 830a9b36375d..89fb44dde0f4 100644
--- a/io/source/acceptor/acc_socket.cxx
+++ b/io/source/acceptor/acc_socket.cxx
@@ -380,7 +380,11 @@ namespace io_acceptor {
}
pConn->completeConnectionString();
- if( m_bTcpNoDelay )
+ OUString remoteHostname = pConn->m_addr.getHostname();
+ // we enable tcpNoDelay for loopback connections because
+ // it can make a significant speed difference on linux boxes.
+ if( m_bTcpNoDelay || remoteHostname == "localhost" ||
+ remoteHostname.startsWith("127.0.0.") )
{
sal_Int32 nTcpNoDelay = sal_True;
pConn->m_socket.setOption( osl_Socket_OptionTcpNoDelay , &nTcpNoDelay,
diff --git a/io/source/connector/connector.cxx b/io/source/connector/connector.cxx
index 0aca22cc1685..81bfdb64ddb2 100644
--- a/io/source/connector/connector.cxx
+++ b/io/source/connector/connector.cxx
@@ -132,7 +132,9 @@ namespace stoc_connector
delete pConn;
throw NoConnectException( sMessage );
}
- if( bTcpNoDelay )
+ // we enable tcpNoDelay for loopback connections because
+ // it can make a significant speed difference on linux boxes.
+ if( bTcpNoDelay || aHost == "localhost" || aHost.startsWith("127.0.0.") )
{
sal_Int32 nTcpNoDelay = sal_True;
pConn->m_socket.setOption( osl_Socket_OptionTcpNoDelay , &nTcpNoDelay,