comparison src/proto/terminal.pro @ 15675:01890a3caefd v8.1.0845

patch 8.1.0845: having job_status() free the job causes problems commit https://github.com/vim/vim/commit/2a4857a1fcf1d188e5b985ac21bcfc532eddde94 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jan 29 22:29:07 2019 +0100 patch 8.1.0845: having job_status() free the job causes problems Problem: Having job_status() free the job causes problems. Solution: Do not actually free the job or terminal yet, put it in a list and free it a bit later. Do not use a terminal after checking the job status. (closes #3873)
author Bram Moolenaar <Bram@vim.org>
date Tue, 29 Jan 2019 22:30:06 +0100
parents d89c5b339c2a
children a3e2e7948ee4
comparison
equal deleted inserted replaced
15674:9045c248e9eb 15675:01890a3caefd
3 buf_T *term_start(typval_T *argvar, char **argv, jobopt_T *opt, int flags); 3 buf_T *term_start(typval_T *argvar, char **argv, jobopt_T *opt, int flags);
4 void ex_terminal(exarg_T *eap); 4 void ex_terminal(exarg_T *eap);
5 int term_write_session(FILE *fd, win_T *wp); 5 int term_write_session(FILE *fd, win_T *wp);
6 int term_should_restore(buf_T *buf); 6 int term_should_restore(buf_T *buf);
7 void free_terminal(buf_T *buf); 7 void free_terminal(buf_T *buf);
8 void free_unused_terminals(void);
8 void write_to_term(buf_T *buffer, char_u *msg, channel_T *channel); 9 void write_to_term(buf_T *buffer, char_u *msg, channel_T *channel);
9 int term_job_running(term_T *term); 10 int term_job_running(term_T *term);
10 int term_none_open(term_T *term); 11 int term_none_open(term_T *term);
11 int term_try_stop_job(buf_T *buf); 12 int term_try_stop_job(buf_T *buf);
12 int term_check_timers(int next_due_arg, proftime_T *now); 13 int term_check_timers(int next_due_arg, proftime_T *now);