0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 7.4.1469

Problem:    Channel test sometimes fails, especially on OS/X. (Kazunobu
            Kuriyama)
Solution:   Change the && into ||, call getsockopt() in more situations.
            (Ozaki Kiichi)
This commit is contained in:
Bram Moolenaar 2016-03-02 20:48:47 +01:00
parent 51d1d53680
commit 42bc6dde46
2 changed files with 7 additions and 4 deletions

View 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. */

View File

@ -743,6 +743,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1469,
/**/
1468,
/**/