Mercurial > vim
comparison src/channel.c @ 10418:56cb9538386c v8.0.0103
commit https://github.com/vim/vim/commit/8a8199e4a1814b10630a770165502abb1121cd1b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Nov 26 15:13:33 2016 +0100
patch 8.0.0103
Problem: May not process channel readahead. (skywind)
Solution: If there is readahead don't block on input.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 26 Nov 2016 15:15:03 +0100 |
parents | 42911b233245 |
children | e664ee056a84 |
comparison
equal
deleted
inserted
replaced
10417:2e7347e59ae8 | 10418:56cb9538386c |
---|---|
3898 | 3898 |
3899 return ret; | 3899 return ret; |
3900 } | 3900 } |
3901 | 3901 |
3902 /* | 3902 /* |
3903 * Return TRUE if any channel has readahead. That means we should not block on | |
3904 * waiting for input. | |
3905 */ | |
3906 int | |
3907 channel_any_readahead(void) | |
3908 { | |
3909 channel_T *channel = first_channel; | |
3910 ch_part_T part = PART_SOCK; | |
3911 | |
3912 while (channel != NULL) | |
3913 { | |
3914 if (channel_has_readahead(channel, part)) | |
3915 return TRUE; | |
3916 if (part < PART_ERR) | |
3917 ++part; | |
3918 else | |
3919 { | |
3920 channel = channel->ch_next; | |
3921 part = PART_SOCK; | |
3922 } | |
3923 } | |
3924 return FALSE; | |
3925 } | |
3926 | |
3927 /* | |
3903 * Mark references to lists used in channels. | 3928 * Mark references to lists used in channels. |
3904 */ | 3929 */ |
3905 int | 3930 int |
3906 set_ref_in_channel(int copyID) | 3931 set_ref_in_channel(int copyID) |
3907 { | 3932 { |