diff --git a/src/MacVim/MMBackend.m b/src/MacVim/MMBackend.m index 7ecdc2d61a..1e8d26e35b 100644 --- a/src/MacVim/MMBackend.m +++ b/src/MacVim/MMBackend.m @@ -3463,7 +3463,14 @@ static void socketReadCallback(CFSocketRef s, - (void)read { - channel_read(channel, part, "MMChannel_read"); + int fd = channel->ch_part[part].ch_fd; + fd_set fds; + FD_ZERO(&fds); + FD_SET(fd, &fds); + struct timeval t; + memset(&t, 0, sizeof(t)); + if (select(FD_SETSIZE, &fds, NULL, NULL, &t) > 0) + channel_read(channel, part, "MMChannel_read"); } @end