]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 7.4.1469 v7.4.1469
authorBram Moolenaar <Bram@vim.org>
Wed, 2 Mar 2016 19:48:47 +0000 (20:48 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 2 Mar 2016 19:48:47 +0000 (20:48 +0100)
Problem:    Channel test sometimes fails, especially on OS/X. (Kazunobu
            Kuriyama)
Solution:   Change the && into ||, call getsockopt() in more situations.
            (Ozaki Kiichi)

src/channel.c
src/version.c

index eb1fbea6d3d663bc22f9a7a446d3748678d6e620..08271ed80e7b13d3389f0748f7b924a5bcec1c84 100644 (file)
@@ -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. */
index 0d32734e1217abac6eb48642e935ea8351783890..eef7eebc19f86e7ec96d8c6d1f293325db993638 100644 (file)
@@ -743,6 +743,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1469,
 /**/
     1468,
 /**/