0
0
mirror of https://github.com/vim/vim.git synced 2025-10-18 07:54:29 -04:00

patch 7.4.1230

Problem:    Win32: opening a channel may hang.  Not checking for messages
            while waiting for characters.
Solution:   Add a zero timeout.  Call parse_queued_messages(). (Yasuhiro
            Matsumoto)
This commit is contained in:
Bram Moolenaar
2016-02-01 21:32:58 +01:00
parent fb1f62691e
commit ca568aeec6
2 changed files with 10 additions and 2 deletions

View File

@@ -1461,10 +1461,12 @@ WaitForChar(long msec)
*/
for (;;)
{
#ifdef MESSAGE_QUEUE
parse_queued_messages();
#endif
#ifdef FEAT_MZSCHEME
mzvim_check_threads();
#endif
#ifdef FEAT_CLIENTSERVER
serverProcessPendingMessages();
#endif
@@ -1474,7 +1476,11 @@ WaitForChar(long msec)
maxfd = channel_select_setup(-1, &rfds);
if (maxfd >= 0)
{
ret = select(maxfd + 1, &rfds, NULL, NULL, NULL);
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = 0;
ret = select(maxfd + 1, &rfds, NULL, NULL, &tv);
if (ret > 0 && channel_select_check(ret, &rfds) > 0)
return TRUE;
}

View File

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