diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-03-28 19:16:20 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-03-28 19:16:20 +0200 |
commit | 8b877ac38e96424a08a8b8eb713ef4b3cf0064be (patch) | |
tree | c72ac7aa90e66ad1e6d6c82fb27ab7d74de3eea9 /src/proto/channel.pro | |
parent | ee1f7b3cb71684aaa9bf457e2caf9d02187e6b7c (diff) | |
download | vim-git-8b877ac38e96424a08a8b8eb713ef4b3cf0064be.tar.gz |
patch 7.4.1669v7.4.1669
Problem: When writing buffer lines to a pipe Vim may block.
Solution: Avoid blocking, write more lines later.
Diffstat (limited to 'src/proto/channel.pro')
-rw-r--r-- | src/proto/channel.pro | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/proto/channel.pro b/src/proto/channel.pro index e33490875..b796d82bf 100644 --- a/src/proto/channel.pro +++ b/src/proto/channel.pro @@ -13,7 +13,7 @@ void channel_set_pipes(channel_T *channel, sock_T in, sock_T out, sock_T err); void channel_set_job(channel_T *channel, job_T *job, jobopt_T *options); void channel_set_options(channel_T *channel, jobopt_T *opt); void channel_set_req_callback(channel_T *channel, int part, char_u *callback, partial_T *partial, int id); -void channel_write_in(channel_T *channel); +void channel_write_any_lines(void); void channel_write_new_lines(buf_T *buf); char_u *channel_get(channel_T *channel, int part); int channel_collapse(channel_T *channel, int part); @@ -37,8 +37,8 @@ void ch_expr_common(typval_T *argvars, typval_T *rettv, int eval); void ch_raw_common(typval_T *argvars, typval_T *rettv, int eval); int channel_poll_setup(int nfd_in, void *fds_in); int channel_poll_check(int ret_in, void *fds_in); -int channel_select_setup(int maxfd_in, void *rfds_in); -int channel_select_check(int ret_in, void *rfds_in); +int channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in); +int channel_select_check(int ret_in, void *rfds_in, void *wfds_in); int channel_parse_messages(void); int set_ref_in_channel(int copyID); int channel_part_send(channel_T *channel); |