Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Michel-Lemieux2003-04-15 15:01:30 +0000
committerJean Michel-Lemieux2003-04-15 15:01:30 +0000
commit2d92e351e030fc572081c76063ef867514d56829 (patch)
treee68e756123fb3f004402510ddf4c0895ad199f60
parentdc607fbe45aa864bd3fa2f221282e49b97b0885c (diff)
downloadeclipse.platform.team-2d92e351e030fc572081c76063ef867514d56829.tar.gz
eclipse.platform.team-2d92e351e030fc572081c76063ef867514d56829.tar.xz
eclipse.platform.team-2d92e351e030fc572081c76063ef867514d56829.zip
Bug 36351: [CVS EXTSSH] Deadlocks / Timeouts in SSH communication
CVS over pserver and ssh transfer large blocks and thus don't really benefit from Nagle's algorithm (enabled by default on sockets). Discussions on the internet confirm that turning-off Nagle's algo is a good thing and should maybe be the default for sockets and instead should be expliticly enabled for applications that send small chunks of data (e.g. telnet/rlogin).
-rw-r--r--bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java
index 9b63f16a2..bb1d18dab 100644
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java
+++ b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java
@@ -365,6 +365,8 @@ public void connect(IProgressMonitor monitor) throws IOException, CVSAuthenticat
if (socket == null) {
try {
socket = Util.createSocket(host, port, monitor);
+ // Bug 36351: disable buffering and send bytes immediately
+ socket.setTcpNoDelay(true);
} catch (InterruptedIOException e) {
// If we get this exception, chances are the host is not responding
throw new InterruptedIOException(Policy.bind("Client.socket", new Object[] {host}));//$NON-NLS-1$

Back to the top