Mercurial > vim
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); |