diff options
author | Jean Michel-Lemieux | 2003-04-15 15:01:30 +0000 |
---|---|---|
committer | Jean Michel-Lemieux | 2003-04-15 15:01:30 +0000 |
commit | 2d92e351e030fc572081c76063ef867514d56829 (patch) | |
tree | e68e756123fb3f004402510ddf4c0895ad199f60 | |
parent | dc607fbe45aa864bd3fa2f221282e49b97b0885c (diff) | |
download | eclipse.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.java | 2 |
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$ |