summaryrefslogtreecommitdiff
path: root/src/channel.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-02-26 11:52:39 +0100
committerBram Moolenaar <Bram@vim.org>2016-02-26 11:52:39 +0100
commit4cafa6dc7f0728b018979aff0ca039908ecf2ae1 (patch)
tree0e466bec26244a5383a74c81095cd32c1440890e /src/channel.c
parent46c85439c966d7ed39fb3d711d4d6c61ac964647 (diff)
downloadvim-4cafa6dc7f0728b018979aff0ca039908ecf2ae1.zip
patch 7.4.1423
Problem: Channel test fails on MS-Windows. Solution: Do not give an error message when reading fails, assume the other end exited.
Diffstat (limited to 'src/channel.c')
-rw-r--r--src/channel.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/channel.c b/src/channel.c
index 03dbdc301..9f6cdc7ca 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -1763,10 +1763,13 @@ channel_read(channel_T *channel, int part, char *func)
break; /* did read everything that's available */
}
- /* Reading a disconnection (readlen == 0), or an error.
- * TODO: call error callback. */
+ /* Reading a disconnection (readlen == 0), or an error. */
if (readlen <= 0)
{
+ /* Do not give an error message, most likely the other end just
+ * exited. */
+ ch_errors(channel, "%s(): Cannot read from channel", func);
+
/* Queue a "DETACH" netbeans message in the command queue in order to
* terminate the netbeans session later. Do not end the session here
* directly as we may be running in the context of a call to
@@ -1777,13 +1780,6 @@ channel_read(channel_T *channel, int part, char *func)
* -> gui event loop or select loop
* -> channel_read()
*/
- ch_errors(channel, "%s(): Cannot read", func);
- if (len < 0)
- {
- ch_error(channel, "channel_read(): cannot read from channel");
- PERROR(_("E896: read from channel"));
- }
-
msg = channel->ch_part[part].ch_mode == MODE_RAW
|| channel->ch_part[part].ch_mode == MODE_NL
? DETACH_MSG_RAW : DETACH_MSG_JSON;