Mercurial > vim
comparison src/proto/channel.pro @ 8761:f8707ec9efe4 v7.4.1669
commit https://github.com/vim/vim/commit/8b877ac38e96424a08a8b8eb713ef4b3cf0064be
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Mar 28 19:16:20 2016 +0200
patch 7.4.1669
Problem: When writing buffer lines to a pipe Vim may block.
Solution: Avoid blocking, write more lines later.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 28 Mar 2016 19:30:05 +0200 |
parents | 06848fe9c816 |
children | 03250bc0c63a |
comparison
equal
deleted
inserted
replaced
8760:e43830c12eb2 | 8761:f8707ec9efe4 |
---|---|
11 channel_T *channel_open_func(typval_T *argvars); | 11 channel_T *channel_open_func(typval_T *argvars); |
12 void channel_set_pipes(channel_T *channel, sock_T in, sock_T out, sock_T err); | 12 void channel_set_pipes(channel_T *channel, sock_T in, sock_T out, sock_T err); |
13 void channel_set_job(channel_T *channel, job_T *job, jobopt_T *options); | 13 void channel_set_job(channel_T *channel, job_T *job, jobopt_T *options); |
14 void channel_set_options(channel_T *channel, jobopt_T *opt); | 14 void channel_set_options(channel_T *channel, jobopt_T *opt); |
15 void channel_set_req_callback(channel_T *channel, int part, char_u *callback, partial_T *partial, int id); | 15 void channel_set_req_callback(channel_T *channel, int part, char_u *callback, partial_T *partial, int id); |
16 void channel_write_in(channel_T *channel); | 16 void channel_write_any_lines(void); |
17 void channel_write_new_lines(buf_T *buf); | 17 void channel_write_new_lines(buf_T *buf); |
18 char_u *channel_get(channel_T *channel, int part); | 18 char_u *channel_get(channel_T *channel, int part); |
19 int channel_collapse(channel_T *channel, int part); | 19 int channel_collapse(channel_T *channel, int part); |
20 int channel_can_write_to(channel_T *channel); | 20 int channel_can_write_to(channel_T *channel); |
21 int channel_is_open(channel_T *channel); | 21 int channel_is_open(channel_T *channel); |
35 channel_T *send_common(typval_T *argvars, char_u *text, int id, int eval, jobopt_T *opt, char *fun, int *part_read); | 35 channel_T *send_common(typval_T *argvars, char_u *text, int id, int eval, jobopt_T *opt, char *fun, int *part_read); |
36 void ch_expr_common(typval_T *argvars, typval_T *rettv, int eval); | 36 void ch_expr_common(typval_T *argvars, typval_T *rettv, int eval); |
37 void ch_raw_common(typval_T *argvars, typval_T *rettv, int eval); | 37 void ch_raw_common(typval_T *argvars, typval_T *rettv, int eval); |
38 int channel_poll_setup(int nfd_in, void *fds_in); | 38 int channel_poll_setup(int nfd_in, void *fds_in); |
39 int channel_poll_check(int ret_in, void *fds_in); | 39 int channel_poll_check(int ret_in, void *fds_in); |
40 int channel_select_setup(int maxfd_in, void *rfds_in); | 40 int channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in); |
41 int channel_select_check(int ret_in, void *rfds_in); | 41 int channel_select_check(int ret_in, void *rfds_in, void *wfds_in); |
42 int channel_parse_messages(void); | 42 int channel_parse_messages(void); |
43 int set_ref_in_channel(int copyID); | 43 int set_ref_in_channel(int copyID); |
44 int channel_part_send(channel_T *channel); | 44 int channel_part_send(channel_T *channel); |
45 int channel_part_read(channel_T *channel); | 45 int channel_part_read(channel_T *channel); |
46 ch_mode_T channel_get_mode(channel_T *channel, int part); | 46 ch_mode_T channel_get_mode(channel_T *channel, int part); |