Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Michel-Lemieux2003-04-15 15:52:43 +0000
committerJean Michel-Lemieux2003-04-15 15:52:43 +0000
commitb4e84d80988dc15cf7767ea16f07abce54901208 (patch)
treea4af02e2a23edb64e094ef529f0b042f30667a79
parent67b6836ad09352e86c4d3ea6c7df150f116050a3 (diff)
downloadeclipse.platform.team-b4e84d80988dc15cf7767ea16f07abce54901208.tar.gz
eclipse.platform.team-b4e84d80988dc15cf7767ea16f07abce54901208.tar.xz
eclipse.platform.team-b4e84d80988dc15cf7767ea16f07abce54901208.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