summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-03-02 20:48:47 +0100
committerBram Moolenaar <Bram@vim.org>2016-03-02 20:48:47 +0100
commit42bc6dde46f1b52476cc84ee89277f981b4116c4 (patch)
tree83f429114682e320ea898aa7a6a09395b3993044
parent51d1d536802b5d8232d47e56f165ba8a009529b5 (diff)
downloadvim-git-42bc6dde46f1b52476cc84ee89277f981b4116c4.tar.gz
patch 7.4.1469v7.4.1469
Problem: Channel test sometimes fails, especially on OS/X. (Kazunobu Kuriyama) Solution: Change the && into ||, call getsockopt() in more situations. (Ozaki Kiichi)
-rw-r--r--src/channel.c9
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/src/channel.c b/src/channel.c
index eb1fbea6d..08271ed80 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -720,10 +720,10 @@ channel_open(
* After putting the socket in non-blocking mode, connect() will
* return EINPROGRESS, select() will not wait (as if writing is
* possible), need to use getsockopt() to check if the socket is
- * actually connect.
- * We detect an failure to connect when both read and write fds
+ * actually able to connect.
+ * We detect an failure to connect when either read and write fds
* are set. Use getsockopt() to find out what kind of failure. */
- if (FD_ISSET(sd, &rfds) && FD_ISSET(sd, &wfds))
+ if (FD_ISSET(sd, &rfds) || FD_ISSET(sd, &wfds))
{
ret = getsockopt(sd,
SOL_SOCKET, SO_ERROR, &so_error, &so_error_len);
@@ -1559,7 +1559,8 @@ may_invoke_callback(channel_T *channel, int part)
curbuf = buffer;
u_sync(TRUE);
- u_save(lnum, lnum + 1);
+ /* ignore undo failure, undo is not very useful here */
+ ignored = u_save(lnum, lnum + 1);
if (msg == NULL)
/* JSON or JS mode: re-encode the message. */
diff --git a/src/version.c b/src/version.c
index 0d32734e1..eef7eebc1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -744,6 +744,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1469,
+/**/
1468,
/**/
1467,