1
0
forked from aniani/vim

patch 8.2.3640: freeze when calling term_wait() in a close callback

Problem:    Freeze when calling term_wait() in a close callback.
Solution:   Set a "closing" flag to tell term_wait() to return. (closes #9152)
This commit is contained in:
Bram Moolenaar
2021-11-21 14:51:13 +00:00
parent 7f0c4b418e
commit eea32afdb8
5 changed files with 42 additions and 0 deletions

View File

@@ -3156,6 +3156,10 @@ channel_close(channel_T *channel, int invoke_close_cb)
{
ch_part_T part;
#ifdef FEAT_TERMINAL
// let the terminal know it is closing to avoid getting stuck
term_channel_closing(channel);
#endif
// Invoke callbacks and flush buffers before the close callback.
if (channel->ch_close_cb.cb_name != NULL)
ch_log(channel,